feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API BatchGetNamedQueryRequest : public AthenaRequest
{
public:
BatchGetNamedQueryRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "BatchGetNamedQuery"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>An array of query IDs.</p>
*/
inline const Aws::Vector<Aws::String>& GetNamedQueryIds() const{ return m_namedQueryIds; }
/**
* <p>An array of query IDs.</p>
*/
inline bool NamedQueryIdsHasBeenSet() const { return m_namedQueryIdsHasBeenSet; }
/**
* <p>An array of query IDs.</p>
*/
inline void SetNamedQueryIds(const Aws::Vector<Aws::String>& value) { m_namedQueryIdsHasBeenSet = true; m_namedQueryIds = value; }
/**
* <p>An array of query IDs.</p>
*/
inline void SetNamedQueryIds(Aws::Vector<Aws::String>&& value) { m_namedQueryIdsHasBeenSet = true; m_namedQueryIds = std::move(value); }
/**
* <p>An array of query IDs.</p>
*/
inline BatchGetNamedQueryRequest& WithNamedQueryIds(const Aws::Vector<Aws::String>& value) { SetNamedQueryIds(value); return *this;}
/**
* <p>An array of query IDs.</p>
*/
inline BatchGetNamedQueryRequest& WithNamedQueryIds(Aws::Vector<Aws::String>&& value) { SetNamedQueryIds(std::move(value)); return *this;}
/**
* <p>An array of query IDs.</p>
*/
inline BatchGetNamedQueryRequest& AddNamedQueryIds(const Aws::String& value) { m_namedQueryIdsHasBeenSet = true; m_namedQueryIds.push_back(value); return *this; }
/**
* <p>An array of query IDs.</p>
*/
inline BatchGetNamedQueryRequest& AddNamedQueryIds(Aws::String&& value) { m_namedQueryIdsHasBeenSet = true; m_namedQueryIds.push_back(std::move(value)); return *this; }
/**
* <p>An array of query IDs.</p>
*/
inline BatchGetNamedQueryRequest& AddNamedQueryIds(const char* value) { m_namedQueryIdsHasBeenSet = true; m_namedQueryIds.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_namedQueryIds;
bool m_namedQueryIdsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/athena/model/NamedQuery.h>
#include <aws/athena/model/UnprocessedNamedQueryId.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API BatchGetNamedQueryResult
{
public:
BatchGetNamedQueryResult();
BatchGetNamedQueryResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
BatchGetNamedQueryResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the named query IDs submitted.</p>
*/
inline const Aws::Vector<NamedQuery>& GetNamedQueries() const{ return m_namedQueries; }
/**
* <p>Information about the named query IDs submitted.</p>
*/
inline void SetNamedQueries(const Aws::Vector<NamedQuery>& value) { m_namedQueries = value; }
/**
* <p>Information about the named query IDs submitted.</p>
*/
inline void SetNamedQueries(Aws::Vector<NamedQuery>&& value) { m_namedQueries = std::move(value); }
/**
* <p>Information about the named query IDs submitted.</p>
*/
inline BatchGetNamedQueryResult& WithNamedQueries(const Aws::Vector<NamedQuery>& value) { SetNamedQueries(value); return *this;}
/**
* <p>Information about the named query IDs submitted.</p>
*/
inline BatchGetNamedQueryResult& WithNamedQueries(Aws::Vector<NamedQuery>&& value) { SetNamedQueries(std::move(value)); return *this;}
/**
* <p>Information about the named query IDs submitted.</p>
*/
inline BatchGetNamedQueryResult& AddNamedQueries(const NamedQuery& value) { m_namedQueries.push_back(value); return *this; }
/**
* <p>Information about the named query IDs submitted.</p>
*/
inline BatchGetNamedQueryResult& AddNamedQueries(NamedQuery&& value) { m_namedQueries.push_back(std::move(value)); return *this; }
/**
* <p>Information about provided query IDs.</p>
*/
inline const Aws::Vector<UnprocessedNamedQueryId>& GetUnprocessedNamedQueryIds() const{ return m_unprocessedNamedQueryIds; }
/**
* <p>Information about provided query IDs.</p>
*/
inline void SetUnprocessedNamedQueryIds(const Aws::Vector<UnprocessedNamedQueryId>& value) { m_unprocessedNamedQueryIds = value; }
/**
* <p>Information about provided query IDs.</p>
*/
inline void SetUnprocessedNamedQueryIds(Aws::Vector<UnprocessedNamedQueryId>&& value) { m_unprocessedNamedQueryIds = std::move(value); }
/**
* <p>Information about provided query IDs.</p>
*/
inline BatchGetNamedQueryResult& WithUnprocessedNamedQueryIds(const Aws::Vector<UnprocessedNamedQueryId>& value) { SetUnprocessedNamedQueryIds(value); return *this;}
/**
* <p>Information about provided query IDs.</p>
*/
inline BatchGetNamedQueryResult& WithUnprocessedNamedQueryIds(Aws::Vector<UnprocessedNamedQueryId>&& value) { SetUnprocessedNamedQueryIds(std::move(value)); return *this;}
/**
* <p>Information about provided query IDs.</p>
*/
inline BatchGetNamedQueryResult& AddUnprocessedNamedQueryIds(const UnprocessedNamedQueryId& value) { m_unprocessedNamedQueryIds.push_back(value); return *this; }
/**
* <p>Information about provided query IDs.</p>
*/
inline BatchGetNamedQueryResult& AddUnprocessedNamedQueryIds(UnprocessedNamedQueryId&& value) { m_unprocessedNamedQueryIds.push_back(std::move(value)); return *this; }
private:
Aws::Vector<NamedQuery> m_namedQueries;
Aws::Vector<UnprocessedNamedQueryId> m_unprocessedNamedQueryIds;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API BatchGetQueryExecutionRequest : public AthenaRequest
{
public:
BatchGetQueryExecutionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "BatchGetQueryExecution"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>An array of query execution IDs.</p>
*/
inline const Aws::Vector<Aws::String>& GetQueryExecutionIds() const{ return m_queryExecutionIds; }
/**
* <p>An array of query execution IDs.</p>
*/
inline bool QueryExecutionIdsHasBeenSet() const { return m_queryExecutionIdsHasBeenSet; }
/**
* <p>An array of query execution IDs.</p>
*/
inline void SetQueryExecutionIds(const Aws::Vector<Aws::String>& value) { m_queryExecutionIdsHasBeenSet = true; m_queryExecutionIds = value; }
/**
* <p>An array of query execution IDs.</p>
*/
inline void SetQueryExecutionIds(Aws::Vector<Aws::String>&& value) { m_queryExecutionIdsHasBeenSet = true; m_queryExecutionIds = std::move(value); }
/**
* <p>An array of query execution IDs.</p>
*/
inline BatchGetQueryExecutionRequest& WithQueryExecutionIds(const Aws::Vector<Aws::String>& value) { SetQueryExecutionIds(value); return *this;}
/**
* <p>An array of query execution IDs.</p>
*/
inline BatchGetQueryExecutionRequest& WithQueryExecutionIds(Aws::Vector<Aws::String>&& value) { SetQueryExecutionIds(std::move(value)); return *this;}
/**
* <p>An array of query execution IDs.</p>
*/
inline BatchGetQueryExecutionRequest& AddQueryExecutionIds(const Aws::String& value) { m_queryExecutionIdsHasBeenSet = true; m_queryExecutionIds.push_back(value); return *this; }
/**
* <p>An array of query execution IDs.</p>
*/
inline BatchGetQueryExecutionRequest& AddQueryExecutionIds(Aws::String&& value) { m_queryExecutionIdsHasBeenSet = true; m_queryExecutionIds.push_back(std::move(value)); return *this; }
/**
* <p>An array of query execution IDs.</p>
*/
inline BatchGetQueryExecutionRequest& AddQueryExecutionIds(const char* value) { m_queryExecutionIdsHasBeenSet = true; m_queryExecutionIds.push_back(value); return *this; }
private:
Aws::Vector<Aws::String> m_queryExecutionIds;
bool m_queryExecutionIdsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/athena/model/QueryExecution.h>
#include <aws/athena/model/UnprocessedQueryExecutionId.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API BatchGetQueryExecutionResult
{
public:
BatchGetQueryExecutionResult();
BatchGetQueryExecutionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
BatchGetQueryExecutionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about a query execution.</p>
*/
inline const Aws::Vector<QueryExecution>& GetQueryExecutions() const{ return m_queryExecutions; }
/**
* <p>Information about a query execution.</p>
*/
inline void SetQueryExecutions(const Aws::Vector<QueryExecution>& value) { m_queryExecutions = value; }
/**
* <p>Information about a query execution.</p>
*/
inline void SetQueryExecutions(Aws::Vector<QueryExecution>&& value) { m_queryExecutions = std::move(value); }
/**
* <p>Information about a query execution.</p>
*/
inline BatchGetQueryExecutionResult& WithQueryExecutions(const Aws::Vector<QueryExecution>& value) { SetQueryExecutions(value); return *this;}
/**
* <p>Information about a query execution.</p>
*/
inline BatchGetQueryExecutionResult& WithQueryExecutions(Aws::Vector<QueryExecution>&& value) { SetQueryExecutions(std::move(value)); return *this;}
/**
* <p>Information about a query execution.</p>
*/
inline BatchGetQueryExecutionResult& AddQueryExecutions(const QueryExecution& value) { m_queryExecutions.push_back(value); return *this; }
/**
* <p>Information about a query execution.</p>
*/
inline BatchGetQueryExecutionResult& AddQueryExecutions(QueryExecution&& value) { m_queryExecutions.push_back(std::move(value)); return *this; }
/**
* <p>Information about the query executions that failed to run.</p>
*/
inline const Aws::Vector<UnprocessedQueryExecutionId>& GetUnprocessedQueryExecutionIds() const{ return m_unprocessedQueryExecutionIds; }
/**
* <p>Information about the query executions that failed to run.</p>
*/
inline void SetUnprocessedQueryExecutionIds(const Aws::Vector<UnprocessedQueryExecutionId>& value) { m_unprocessedQueryExecutionIds = value; }
/**
* <p>Information about the query executions that failed to run.</p>
*/
inline void SetUnprocessedQueryExecutionIds(Aws::Vector<UnprocessedQueryExecutionId>&& value) { m_unprocessedQueryExecutionIds = std::move(value); }
/**
* <p>Information about the query executions that failed to run.</p>
*/
inline BatchGetQueryExecutionResult& WithUnprocessedQueryExecutionIds(const Aws::Vector<UnprocessedQueryExecutionId>& value) { SetUnprocessedQueryExecutionIds(value); return *this;}
/**
* <p>Information about the query executions that failed to run.</p>
*/
inline BatchGetQueryExecutionResult& WithUnprocessedQueryExecutionIds(Aws::Vector<UnprocessedQueryExecutionId>&& value) { SetUnprocessedQueryExecutionIds(std::move(value)); return *this;}
/**
* <p>Information about the query executions that failed to run.</p>
*/
inline BatchGetQueryExecutionResult& AddUnprocessedQueryExecutionIds(const UnprocessedQueryExecutionId& value) { m_unprocessedQueryExecutionIds.push_back(value); return *this; }
/**
* <p>Information about the query executions that failed to run.</p>
*/
inline BatchGetQueryExecutionResult& AddUnprocessedQueryExecutionIds(UnprocessedQueryExecutionId&& value) { m_unprocessedQueryExecutionIds.push_back(std::move(value)); return *this; }
private:
Aws::Vector<QueryExecution> m_queryExecutions;
Aws::Vector<UnprocessedQueryExecutionId> m_unprocessedQueryExecutionIds;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,176 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Contains metadata for a column in a table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/Column">AWS API
* Reference</a></p>
*/
class AWS_ATHENA_API Column
{
public:
Column();
Column(Aws::Utils::Json::JsonView jsonValue);
Column& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the column.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the column.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the column.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the column.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the column.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the column.</p>
*/
inline Column& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the column.</p>
*/
inline Column& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the column.</p>
*/
inline Column& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The data type of the column.</p>
*/
inline const Aws::String& GetType() const{ return m_type; }
/**
* <p>The data type of the column.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The data type of the column.</p>
*/
inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The data type of the column.</p>
*/
inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The data type of the column.</p>
*/
inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); }
/**
* <p>The data type of the column.</p>
*/
inline Column& WithType(const Aws::String& value) { SetType(value); return *this;}
/**
* <p>The data type of the column.</p>
*/
inline Column& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;}
/**
* <p>The data type of the column.</p>
*/
inline Column& WithType(const char* value) { SetType(value); return *this;}
/**
* <p>Optional information about the column.</p>
*/
inline const Aws::String& GetComment() const{ return m_comment; }
/**
* <p>Optional information about the column.</p>
*/
inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; }
/**
* <p>Optional information about the column.</p>
*/
inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; }
/**
* <p>Optional information about the column.</p>
*/
inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); }
/**
* <p>Optional information about the column.</p>
*/
inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); }
/**
* <p>Optional information about the column.</p>
*/
inline Column& WithComment(const Aws::String& value) { SetComment(value); return *this;}
/**
* <p>Optional information about the column.</p>
*/
inline Column& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;}
/**
* <p>Optional information about the column.</p>
*/
inline Column& WithComment(const char* value) { SetComment(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_type;
bool m_typeHasBeenSet;
Aws::String m_comment;
bool m_commentHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,424 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/ColumnNullable.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Information about the columns in a query execution result.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ColumnInfo">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API ColumnInfo
{
public:
ColumnInfo();
ColumnInfo(Aws::Utils::Json::JsonView jsonValue);
ColumnInfo& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The catalog to which the query results belong.</p>
*/
inline const Aws::String& GetCatalogName() const{ return m_catalogName; }
/**
* <p>The catalog to which the query results belong.</p>
*/
inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
/**
* <p>The catalog to which the query results belong.</p>
*/
inline void SetCatalogName(const Aws::String& value) { m_catalogNameHasBeenSet = true; m_catalogName = value; }
/**
* <p>The catalog to which the query results belong.</p>
*/
inline void SetCatalogName(Aws::String&& value) { m_catalogNameHasBeenSet = true; m_catalogName = std::move(value); }
/**
* <p>The catalog to which the query results belong.</p>
*/
inline void SetCatalogName(const char* value) { m_catalogNameHasBeenSet = true; m_catalogName.assign(value); }
/**
* <p>The catalog to which the query results belong.</p>
*/
inline ColumnInfo& WithCatalogName(const Aws::String& value) { SetCatalogName(value); return *this;}
/**
* <p>The catalog to which the query results belong.</p>
*/
inline ColumnInfo& WithCatalogName(Aws::String&& value) { SetCatalogName(std::move(value)); return *this;}
/**
* <p>The catalog to which the query results belong.</p>
*/
inline ColumnInfo& WithCatalogName(const char* value) { SetCatalogName(value); return *this;}
/**
* <p>The schema name (database name) to which the query results belong.</p>
*/
inline const Aws::String& GetSchemaName() const{ return m_schemaName; }
/**
* <p>The schema name (database name) to which the query results belong.</p>
*/
inline bool SchemaNameHasBeenSet() const { return m_schemaNameHasBeenSet; }
/**
* <p>The schema name (database name) to which the query results belong.</p>
*/
inline void SetSchemaName(const Aws::String& value) { m_schemaNameHasBeenSet = true; m_schemaName = value; }
/**
* <p>The schema name (database name) to which the query results belong.</p>
*/
inline void SetSchemaName(Aws::String&& value) { m_schemaNameHasBeenSet = true; m_schemaName = std::move(value); }
/**
* <p>The schema name (database name) to which the query results belong.</p>
*/
inline void SetSchemaName(const char* value) { m_schemaNameHasBeenSet = true; m_schemaName.assign(value); }
/**
* <p>The schema name (database name) to which the query results belong.</p>
*/
inline ColumnInfo& WithSchemaName(const Aws::String& value) { SetSchemaName(value); return *this;}
/**
* <p>The schema name (database name) to which the query results belong.</p>
*/
inline ColumnInfo& WithSchemaName(Aws::String&& value) { SetSchemaName(std::move(value)); return *this;}
/**
* <p>The schema name (database name) to which the query results belong.</p>
*/
inline ColumnInfo& WithSchemaName(const char* value) { SetSchemaName(value); return *this;}
/**
* <p>The table name for the query results.</p>
*/
inline const Aws::String& GetTableName() const{ return m_tableName; }
/**
* <p>The table name for the query results.</p>
*/
inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
/**
* <p>The table name for the query results.</p>
*/
inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; }
/**
* <p>The table name for the query results.</p>
*/
inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); }
/**
* <p>The table name for the query results.</p>
*/
inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); }
/**
* <p>The table name for the query results.</p>
*/
inline ColumnInfo& WithTableName(const Aws::String& value) { SetTableName(value); return *this;}
/**
* <p>The table name for the query results.</p>
*/
inline ColumnInfo& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;}
/**
* <p>The table name for the query results.</p>
*/
inline ColumnInfo& WithTableName(const char* value) { SetTableName(value); return *this;}
/**
* <p>The name of the column.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the column.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the column.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the column.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the column.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the column.</p>
*/
inline ColumnInfo& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the column.</p>
*/
inline ColumnInfo& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the column.</p>
*/
inline ColumnInfo& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>A column label.</p>
*/
inline const Aws::String& GetLabel() const{ return m_label; }
/**
* <p>A column label.</p>
*/
inline bool LabelHasBeenSet() const { return m_labelHasBeenSet; }
/**
* <p>A column label.</p>
*/
inline void SetLabel(const Aws::String& value) { m_labelHasBeenSet = true; m_label = value; }
/**
* <p>A column label.</p>
*/
inline void SetLabel(Aws::String&& value) { m_labelHasBeenSet = true; m_label = std::move(value); }
/**
* <p>A column label.</p>
*/
inline void SetLabel(const char* value) { m_labelHasBeenSet = true; m_label.assign(value); }
/**
* <p>A column label.</p>
*/
inline ColumnInfo& WithLabel(const Aws::String& value) { SetLabel(value); return *this;}
/**
* <p>A column label.</p>
*/
inline ColumnInfo& WithLabel(Aws::String&& value) { SetLabel(std::move(value)); return *this;}
/**
* <p>A column label.</p>
*/
inline ColumnInfo& WithLabel(const char* value) { SetLabel(value); return *this;}
/**
* <p>The data type of the column.</p>
*/
inline const Aws::String& GetType() const{ return m_type; }
/**
* <p>The data type of the column.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The data type of the column.</p>
*/
inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The data type of the column.</p>
*/
inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The data type of the column.</p>
*/
inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); }
/**
* <p>The data type of the column.</p>
*/
inline ColumnInfo& WithType(const Aws::String& value) { SetType(value); return *this;}
/**
* <p>The data type of the column.</p>
*/
inline ColumnInfo& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;}
/**
* <p>The data type of the column.</p>
*/
inline ColumnInfo& WithType(const char* value) { SetType(value); return *this;}
/**
* <p>For <code>DECIMAL</code> data types, specifies the total number of digits, up
* to 38. For performance reasons, we recommend up to 18 digits.</p>
*/
inline int GetPrecision() const{ return m_precision; }
/**
* <p>For <code>DECIMAL</code> data types, specifies the total number of digits, up
* to 38. For performance reasons, we recommend up to 18 digits.</p>
*/
inline bool PrecisionHasBeenSet() const { return m_precisionHasBeenSet; }
/**
* <p>For <code>DECIMAL</code> data types, specifies the total number of digits, up
* to 38. For performance reasons, we recommend up to 18 digits.</p>
*/
inline void SetPrecision(int value) { m_precisionHasBeenSet = true; m_precision = value; }
/**
* <p>For <code>DECIMAL</code> data types, specifies the total number of digits, up
* to 38. For performance reasons, we recommend up to 18 digits.</p>
*/
inline ColumnInfo& WithPrecision(int value) { SetPrecision(value); return *this;}
/**
* <p>For <code>DECIMAL</code> data types, specifies the total number of digits in
* the fractional part of the value. Defaults to 0.</p>
*/
inline int GetScale() const{ return m_scale; }
/**
* <p>For <code>DECIMAL</code> data types, specifies the total number of digits in
* the fractional part of the value. Defaults to 0.</p>
*/
inline bool ScaleHasBeenSet() const { return m_scaleHasBeenSet; }
/**
* <p>For <code>DECIMAL</code> data types, specifies the total number of digits in
* the fractional part of the value. Defaults to 0.</p>
*/
inline void SetScale(int value) { m_scaleHasBeenSet = true; m_scale = value; }
/**
* <p>For <code>DECIMAL</code> data types, specifies the total number of digits in
* the fractional part of the value. Defaults to 0.</p>
*/
inline ColumnInfo& WithScale(int value) { SetScale(value); return *this;}
/**
* <p>Indicates the column's nullable status.</p>
*/
inline const ColumnNullable& GetNullable() const{ return m_nullable; }
/**
* <p>Indicates the column's nullable status.</p>
*/
inline bool NullableHasBeenSet() const { return m_nullableHasBeenSet; }
/**
* <p>Indicates the column's nullable status.</p>
*/
inline void SetNullable(const ColumnNullable& value) { m_nullableHasBeenSet = true; m_nullable = value; }
/**
* <p>Indicates the column's nullable status.</p>
*/
inline void SetNullable(ColumnNullable&& value) { m_nullableHasBeenSet = true; m_nullable = std::move(value); }
/**
* <p>Indicates the column's nullable status.</p>
*/
inline ColumnInfo& WithNullable(const ColumnNullable& value) { SetNullable(value); return *this;}
/**
* <p>Indicates the column's nullable status.</p>
*/
inline ColumnInfo& WithNullable(ColumnNullable&& value) { SetNullable(std::move(value)); return *this;}
/**
* <p>Indicates whether values in the column are case-sensitive.</p>
*/
inline bool GetCaseSensitive() const{ return m_caseSensitive; }
/**
* <p>Indicates whether values in the column are case-sensitive.</p>
*/
inline bool CaseSensitiveHasBeenSet() const { return m_caseSensitiveHasBeenSet; }
/**
* <p>Indicates whether values in the column are case-sensitive.</p>
*/
inline void SetCaseSensitive(bool value) { m_caseSensitiveHasBeenSet = true; m_caseSensitive = value; }
/**
* <p>Indicates whether values in the column are case-sensitive.</p>
*/
inline ColumnInfo& WithCaseSensitive(bool value) { SetCaseSensitive(value); return *this;}
private:
Aws::String m_catalogName;
bool m_catalogNameHasBeenSet;
Aws::String m_schemaName;
bool m_schemaNameHasBeenSet;
Aws::String m_tableName;
bool m_tableNameHasBeenSet;
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_label;
bool m_labelHasBeenSet;
Aws::String m_type;
bool m_typeHasBeenSet;
int m_precision;
bool m_precisionHasBeenSet;
int m_scale;
bool m_scaleHasBeenSet;
ColumnNullable m_nullable;
bool m_nullableHasBeenSet;
bool m_caseSensitive;
bool m_caseSensitiveHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
enum class ColumnNullable
{
NOT_SET,
NOT_NULL,
NULLABLE,
UNKNOWN
};
namespace ColumnNullableMapper
{
AWS_ATHENA_API ColumnNullable GetColumnNullableForName(const Aws::String& name);
AWS_ATHENA_API Aws::String GetNameForColumnNullable(ColumnNullable value);
} // namespace ColumnNullableMapper
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,524 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/DataCatalogType.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/athena/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API CreateDataCatalogRequest : public AthenaRequest
{
public:
CreateDataCatalogRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateDataCatalog"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the data catalog to create. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the data catalog to create. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the data catalog to create. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the data catalog to create. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the data catalog to create. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the data catalog to create. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline CreateDataCatalogRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the data catalog to create. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline CreateDataCatalogRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog to create. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline CreateDataCatalogRequest& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The type of data catalog to create: <code>LAMBDA</code> for a federated
* catalog, <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an
* external hive metastore.</p>
*/
inline const DataCatalogType& GetType() const{ return m_type; }
/**
* <p>The type of data catalog to create: <code>LAMBDA</code> for a federated
* catalog, <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an
* external hive metastore.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of data catalog to create: <code>LAMBDA</code> for a federated
* catalog, <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an
* external hive metastore.</p>
*/
inline void SetType(const DataCatalogType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of data catalog to create: <code>LAMBDA</code> for a federated
* catalog, <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an
* external hive metastore.</p>
*/
inline void SetType(DataCatalogType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of data catalog to create: <code>LAMBDA</code> for a federated
* catalog, <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an
* external hive metastore.</p>
*/
inline CreateDataCatalogRequest& WithType(const DataCatalogType& value) { SetType(value); return *this;}
/**
* <p>The type of data catalog to create: <code>LAMBDA</code> for a federated
* catalog, <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an
* external hive metastore.</p>
*/
inline CreateDataCatalogRequest& WithType(DataCatalogType&& value) { SetType(std::move(value)); return *this;}
/**
* <p>A description of the data catalog to be created.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>A description of the data catalog to be created.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>A description of the data catalog to be created.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>A description of the data catalog to be created.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>A description of the data catalog to be created.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>A description of the data catalog to be created.</p>
*/
inline CreateDataCatalogRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>A description of the data catalog to be created.</p>
*/
inline CreateDataCatalogRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>A description of the data catalog to be created.</p>
*/
inline CreateDataCatalogRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for creating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline CreateDataCatalogRequest& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
*/
inline CreateDataCatalogRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
*/
inline CreateDataCatalogRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
*/
inline CreateDataCatalogRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
*/
inline CreateDataCatalogRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_name;
bool m_nameHasBeenSet;
DataCatalogType m_type;
bool m_typeHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API CreateDataCatalogResult
{
public:
CreateDataCatalogResult();
CreateDataCatalogResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateDataCatalogResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,362 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API CreateNamedQueryRequest : public AthenaRequest
{
public:
CreateNamedQueryRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateNamedQuery"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The query name.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The query name.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The query name.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The query name.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The query name.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The query name.</p>
*/
inline CreateNamedQueryRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The query name.</p>
*/
inline CreateNamedQueryRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The query name.</p>
*/
inline CreateNamedQueryRequest& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The query description.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>The query description.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>The query description.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>The query description.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>The query description.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>The query description.</p>
*/
inline CreateNamedQueryRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>The query description.</p>
*/
inline CreateNamedQueryRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>The query description.</p>
*/
inline CreateNamedQueryRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The database to which the query belongs.</p>
*/
inline const Aws::String& GetDatabase() const{ return m_database; }
/**
* <p>The database to which the query belongs.</p>
*/
inline bool DatabaseHasBeenSet() const { return m_databaseHasBeenSet; }
/**
* <p>The database to which the query belongs.</p>
*/
inline void SetDatabase(const Aws::String& value) { m_databaseHasBeenSet = true; m_database = value; }
/**
* <p>The database to which the query belongs.</p>
*/
inline void SetDatabase(Aws::String&& value) { m_databaseHasBeenSet = true; m_database = std::move(value); }
/**
* <p>The database to which the query belongs.</p>
*/
inline void SetDatabase(const char* value) { m_databaseHasBeenSet = true; m_database.assign(value); }
/**
* <p>The database to which the query belongs.</p>
*/
inline CreateNamedQueryRequest& WithDatabase(const Aws::String& value) { SetDatabase(value); return *this;}
/**
* <p>The database to which the query belongs.</p>
*/
inline CreateNamedQueryRequest& WithDatabase(Aws::String&& value) { SetDatabase(std::move(value)); return *this;}
/**
* <p>The database to which the query belongs.</p>
*/
inline CreateNamedQueryRequest& WithDatabase(const char* value) { SetDatabase(value); return *this;}
/**
* <p>The contents of the query with all query statements.</p>
*/
inline const Aws::String& GetQueryString() const{ return m_queryString; }
/**
* <p>The contents of the query with all query statements.</p>
*/
inline bool QueryStringHasBeenSet() const { return m_queryStringHasBeenSet; }
/**
* <p>The contents of the query with all query statements.</p>
*/
inline void SetQueryString(const Aws::String& value) { m_queryStringHasBeenSet = true; m_queryString = value; }
/**
* <p>The contents of the query with all query statements.</p>
*/
inline void SetQueryString(Aws::String&& value) { m_queryStringHasBeenSet = true; m_queryString = std::move(value); }
/**
* <p>The contents of the query with all query statements.</p>
*/
inline void SetQueryString(const char* value) { m_queryStringHasBeenSet = true; m_queryString.assign(value); }
/**
* <p>The contents of the query with all query statements.</p>
*/
inline CreateNamedQueryRequest& WithQueryString(const Aws::String& value) { SetQueryString(value); return *this;}
/**
* <p>The contents of the query with all query statements.</p>
*/
inline CreateNamedQueryRequest& WithQueryString(Aws::String&& value) { SetQueryString(std::move(value)); return *this;}
/**
* <p>The contents of the query with all query statements.</p>
*/
inline CreateNamedQueryRequest& WithQueryString(const char* value) { SetQueryString(value); return *this;}
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>CreateNamedQuery</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>CreateNamedQuery</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>CreateNamedQuery</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>CreateNamedQuery</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>CreateNamedQuery</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>CreateNamedQuery</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline CreateNamedQueryRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>CreateNamedQuery</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline CreateNamedQueryRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>CreateNamedQuery</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline CreateNamedQueryRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
/**
* <p>The name of the workgroup in which the named query is being created.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The name of the workgroup in which the named query is being created.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The name of the workgroup in which the named query is being created.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The name of the workgroup in which the named query is being created.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The name of the workgroup in which the named query is being created.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The name of the workgroup in which the named query is being created.</p>
*/
inline CreateNamedQueryRequest& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The name of the workgroup in which the named query is being created.</p>
*/
inline CreateNamedQueryRequest& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The name of the workgroup in which the named query is being created.</p>
*/
inline CreateNamedQueryRequest& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::String m_database;
bool m_databaseHasBeenSet;
Aws::String m_queryString;
bool m_queryStringHasBeenSet;
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API CreateNamedQueryResult
{
public:
CreateNamedQueryResult();
CreateNamedQueryResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateNamedQueryResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The unique ID of the query.</p>
*/
inline const Aws::String& GetNamedQueryId() const{ return m_namedQueryId; }
/**
* <p>The unique ID of the query.</p>
*/
inline void SetNamedQueryId(const Aws::String& value) { m_namedQueryId = value; }
/**
* <p>The unique ID of the query.</p>
*/
inline void SetNamedQueryId(Aws::String&& value) { m_namedQueryId = std::move(value); }
/**
* <p>The unique ID of the query.</p>
*/
inline void SetNamedQueryId(const char* value) { m_namedQueryId.assign(value); }
/**
* <p>The unique ID of the query.</p>
*/
inline CreateNamedQueryResult& WithNamedQueryId(const Aws::String& value) { SetNamedQueryId(value); return *this;}
/**
* <p>The unique ID of the query.</p>
*/
inline CreateNamedQueryResult& WithNamedQueryId(Aws::String&& value) { SetNamedQueryId(std::move(value)); return *this;}
/**
* <p>The unique ID of the query.</p>
*/
inline CreateNamedQueryResult& WithNamedQueryId(const char* value) { SetNamedQueryId(value); return *this;}
private:
Aws::String m_namedQueryId;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,252 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/WorkGroupConfiguration.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/athena/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API CreateWorkGroupRequest : public AthenaRequest
{
public:
CreateWorkGroupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "CreateWorkGroup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The workgroup name.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The workgroup name.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The workgroup name.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The workgroup name.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The workgroup name.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The workgroup name.</p>
*/
inline CreateWorkGroupRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The workgroup name.</p>
*/
inline CreateWorkGroupRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The workgroup name.</p>
*/
inline CreateWorkGroupRequest& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* encrypting query results, whether the Amazon CloudWatch Metrics are enabled for
* the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if
* it is specified, and whether workgroup's settings (specified with
* EnforceWorkGroupConfiguration) in the WorkGroupConfiguration override
* client-side settings. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline const WorkGroupConfiguration& GetConfiguration() const{ return m_configuration; }
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* encrypting query results, whether the Amazon CloudWatch Metrics are enabled for
* the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if
* it is specified, and whether workgroup's settings (specified with
* EnforceWorkGroupConfiguration) in the WorkGroupConfiguration override
* client-side settings. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* encrypting query results, whether the Amazon CloudWatch Metrics are enabled for
* the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if
* it is specified, and whether workgroup's settings (specified with
* EnforceWorkGroupConfiguration) in the WorkGroupConfiguration override
* client-side settings. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetConfiguration(const WorkGroupConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; }
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* encrypting query results, whether the Amazon CloudWatch Metrics are enabled for
* the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if
* it is specified, and whether workgroup's settings (specified with
* EnforceWorkGroupConfiguration) in the WorkGroupConfiguration override
* client-side settings. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetConfiguration(WorkGroupConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* encrypting query results, whether the Amazon CloudWatch Metrics are enabled for
* the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if
* it is specified, and whether workgroup's settings (specified with
* EnforceWorkGroupConfiguration) in the WorkGroupConfiguration override
* client-side settings. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline CreateWorkGroupRequest& WithConfiguration(const WorkGroupConfiguration& value) { SetConfiguration(value); return *this;}
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* encrypting query results, whether the Amazon CloudWatch Metrics are enabled for
* the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if
* it is specified, and whether workgroup's settings (specified with
* EnforceWorkGroupConfiguration) in the WorkGroupConfiguration override
* client-side settings. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline CreateWorkGroupRequest& WithConfiguration(WorkGroupConfiguration&& value) { SetConfiguration(std::move(value)); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>The workgroup description.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>The workgroup description.</p>
*/
inline CreateWorkGroupRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline CreateWorkGroupRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline CreateWorkGroupRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>A list of comma separated tags to add to the workgroup that is created.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A list of comma separated tags to add to the workgroup that is created.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A list of comma separated tags to add to the workgroup that is created.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A list of comma separated tags to add to the workgroup that is created.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A list of comma separated tags to add to the workgroup that is created.</p>
*/
inline CreateWorkGroupRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A list of comma separated tags to add to the workgroup that is created.</p>
*/
inline CreateWorkGroupRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A list of comma separated tags to add to the workgroup that is created.</p>
*/
inline CreateWorkGroupRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A list of comma separated tags to add to the workgroup that is created.</p>
*/
inline CreateWorkGroupRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_name;
bool m_nameHasBeenSet;
WorkGroupConfiguration m_configuration;
bool m_configurationHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API CreateWorkGroupResult
{
public:
CreateWorkGroupResult();
CreateWorkGroupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
CreateWorkGroupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,474 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/DataCatalogType.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Contains information about a data catalog in an AWS account.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DataCatalog">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API DataCatalog
{
public:
DataCatalog();
DataCatalog(Aws::Utils::Json::JsonView jsonValue);
DataCatalog& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the data catalog. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or
* hyphen characters.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the data catalog. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or
* hyphen characters.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the data catalog. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or
* hyphen characters.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the data catalog. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or
* hyphen characters.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the data catalog. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or
* hyphen characters.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the data catalog. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or
* hyphen characters.</p>
*/
inline DataCatalog& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the data catalog. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or
* hyphen characters.</p>
*/
inline DataCatalog& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog. The catalog name must be unique for the AWS
* account and can use a maximum of 128 alphanumeric, underscore, at sign, or
* hyphen characters.</p>
*/
inline DataCatalog& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>An optional description of the data catalog.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>An optional description of the data catalog.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>An optional description of the data catalog.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>An optional description of the data catalog.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>An optional description of the data catalog.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>An optional description of the data catalog.</p>
*/
inline DataCatalog& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>An optional description of the data catalog.</p>
*/
inline DataCatalog& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>An optional description of the data catalog.</p>
*/
inline DataCatalog& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The type of data catalog: <code>LAMBDA</code> for a federated catalog,
* <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an external
* hive metastore.</p>
*/
inline const DataCatalogType& GetType() const{ return m_type; }
/**
* <p>The type of data catalog: <code>LAMBDA</code> for a federated catalog,
* <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an external
* hive metastore.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The type of data catalog: <code>LAMBDA</code> for a federated catalog,
* <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an external
* hive metastore.</p>
*/
inline void SetType(const DataCatalogType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The type of data catalog: <code>LAMBDA</code> for a federated catalog,
* <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an external
* hive metastore.</p>
*/
inline void SetType(DataCatalogType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The type of data catalog: <code>LAMBDA</code> for a federated catalog,
* <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an external
* hive metastore.</p>
*/
inline DataCatalog& WithType(const DataCatalogType& value) { SetType(value); return *this;}
/**
* <p>The type of data catalog: <code>LAMBDA</code> for a federated catalog,
* <code>GLUE</code> for AWS Glue Catalog, or <code>HIVE</code> for an external
* hive metastore.</p>
*/
inline DataCatalog& WithType(DataCatalogType&& value) { SetType(std::move(value)); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for the data catalog. This
* is a mapping whose values depend on the catalog type. </p> <ul> <li> <p>For the
* <code>HIVE</code> data catalog type, use the following syntax. The
* <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline DataCatalog& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
DataCatalogType m_type;
bool m_typeHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,124 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/DataCatalogType.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The summary information for the data catalog, which includes its name and
* type.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DataCatalogSummary">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API DataCatalogSummary
{
public:
DataCatalogSummary();
DataCatalogSummary(Aws::Utils::Json::JsonView jsonValue);
DataCatalogSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the data catalog.</p>
*/
inline const Aws::String& GetCatalogName() const{ return m_catalogName; }
/**
* <p>The name of the data catalog.</p>
*/
inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
/**
* <p>The name of the data catalog.</p>
*/
inline void SetCatalogName(const Aws::String& value) { m_catalogNameHasBeenSet = true; m_catalogName = value; }
/**
* <p>The name of the data catalog.</p>
*/
inline void SetCatalogName(Aws::String&& value) { m_catalogNameHasBeenSet = true; m_catalogName = std::move(value); }
/**
* <p>The name of the data catalog.</p>
*/
inline void SetCatalogName(const char* value) { m_catalogNameHasBeenSet = true; m_catalogName.assign(value); }
/**
* <p>The name of the data catalog.</p>
*/
inline DataCatalogSummary& WithCatalogName(const Aws::String& value) { SetCatalogName(value); return *this;}
/**
* <p>The name of the data catalog.</p>
*/
inline DataCatalogSummary& WithCatalogName(Aws::String&& value) { SetCatalogName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog.</p>
*/
inline DataCatalogSummary& WithCatalogName(const char* value) { SetCatalogName(value); return *this;}
/**
* <p>The data catalog type.</p>
*/
inline const DataCatalogType& GetType() const{ return m_type; }
/**
* <p>The data catalog type.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>The data catalog type.</p>
*/
inline void SetType(const DataCatalogType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>The data catalog type.</p>
*/
inline void SetType(DataCatalogType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>The data catalog type.</p>
*/
inline DataCatalogSummary& WithType(const DataCatalogType& value) { SetType(value); return *this;}
/**
* <p>The data catalog type.</p>
*/
inline DataCatalogSummary& WithType(DataCatalogType&& value) { SetType(std::move(value)); return *this;}
private:
Aws::String m_catalogName;
bool m_catalogNameHasBeenSet;
DataCatalogType m_type;
bool m_typeHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
enum class DataCatalogType
{
NOT_SET,
LAMBDA,
GLUE,
HIVE
};
namespace DataCatalogTypeMapper
{
AWS_ATHENA_API DataCatalogType GetDataCatalogTypeForName(const Aws::String& name);
AWS_ATHENA_API Aws::String GetNameForDataCatalogType(DataCatalogType value);
} // namespace DataCatalogTypeMapper
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,203 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Contains metadata information for a database in a data catalog.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/Database">AWS API
* Reference</a></p>
*/
class AWS_ATHENA_API Database
{
public:
Database();
Database(Aws::Utils::Json::JsonView jsonValue);
Database& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the database.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the database.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the database.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the database.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the database.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the database.</p>
*/
inline Database& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the database.</p>
*/
inline Database& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the database.</p>
*/
inline Database& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>An optional description of the database.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>An optional description of the database.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>An optional description of the database.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>An optional description of the database.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>An optional description of the database.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>An optional description of the database.</p>
*/
inline Database& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>An optional description of the database.</p>
*/
inline Database& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>An optional description of the database.</p>
*/
inline Database& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>A set of custom key/value pairs.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>A set of custom key/value pairs.</p>
*/
inline Database& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,88 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>A piece of data (a field in the table).</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/Datum">AWS API
* Reference</a></p>
*/
class AWS_ATHENA_API Datum
{
public:
Datum();
Datum(Aws::Utils::Json::JsonView jsonValue);
Datum& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The value of the datum.</p>
*/
inline const Aws::String& GetVarCharValue() const{ return m_varCharValue; }
/**
* <p>The value of the datum.</p>
*/
inline bool VarCharValueHasBeenSet() const { return m_varCharValueHasBeenSet; }
/**
* <p>The value of the datum.</p>
*/
inline void SetVarCharValue(const Aws::String& value) { m_varCharValueHasBeenSet = true; m_varCharValue = value; }
/**
* <p>The value of the datum.</p>
*/
inline void SetVarCharValue(Aws::String&& value) { m_varCharValueHasBeenSet = true; m_varCharValue = std::move(value); }
/**
* <p>The value of the datum.</p>
*/
inline void SetVarCharValue(const char* value) { m_varCharValueHasBeenSet = true; m_varCharValue.assign(value); }
/**
* <p>The value of the datum.</p>
*/
inline Datum& WithVarCharValue(const Aws::String& value) { SetVarCharValue(value); return *this;}
/**
* <p>The value of the datum.</p>
*/
inline Datum& WithVarCharValue(Aws::String&& value) { SetVarCharValue(std::move(value)); return *this;}
/**
* <p>The value of the datum.</p>
*/
inline Datum& WithVarCharValue(const char* value) { SetVarCharValue(value); return *this;}
private:
Aws::String m_varCharValue;
bool m_varCharValueHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API DeleteDataCatalogRequest : public AthenaRequest
{
public:
DeleteDataCatalogRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteDataCatalog"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the data catalog to delete.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the data catalog to delete.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the data catalog to delete.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the data catalog to delete.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the data catalog to delete.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the data catalog to delete.</p>
*/
inline DeleteDataCatalogRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the data catalog to delete.</p>
*/
inline DeleteDataCatalogRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog to delete.</p>
*/
inline DeleteDataCatalogRequest& WithName(const char* value) { SetName(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API DeleteDataCatalogResult
{
public:
DeleteDataCatalogResult();
DeleteDataCatalogResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteDataCatalogResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,86 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API DeleteNamedQueryRequest : public AthenaRequest
{
public:
DeleteNamedQueryRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteNamedQuery"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The unique ID of the query to delete.</p>
*/
inline const Aws::String& GetNamedQueryId() const{ return m_namedQueryId; }
/**
* <p>The unique ID of the query to delete.</p>
*/
inline bool NamedQueryIdHasBeenSet() const { return m_namedQueryIdHasBeenSet; }
/**
* <p>The unique ID of the query to delete.</p>
*/
inline void SetNamedQueryId(const Aws::String& value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId = value; }
/**
* <p>The unique ID of the query to delete.</p>
*/
inline void SetNamedQueryId(Aws::String&& value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId = std::move(value); }
/**
* <p>The unique ID of the query to delete.</p>
*/
inline void SetNamedQueryId(const char* value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId.assign(value); }
/**
* <p>The unique ID of the query to delete.</p>
*/
inline DeleteNamedQueryRequest& WithNamedQueryId(const Aws::String& value) { SetNamedQueryId(value); return *this;}
/**
* <p>The unique ID of the query to delete.</p>
*/
inline DeleteNamedQueryRequest& WithNamedQueryId(Aws::String&& value) { SetNamedQueryId(std::move(value)); return *this;}
/**
* <p>The unique ID of the query to delete.</p>
*/
inline DeleteNamedQueryRequest& WithNamedQueryId(const char* value) { SetNamedQueryId(value); return *this;}
private:
Aws::String m_namedQueryId;
bool m_namedQueryIdHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API DeleteNamedQueryResult
{
public:
DeleteNamedQueryResult();
DeleteNamedQueryResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteNamedQueryResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,113 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API DeleteWorkGroupRequest : public AthenaRequest
{
public:
DeleteWorkGroupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "DeleteWorkGroup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The unique name of the workgroup to delete.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The unique name of the workgroup to delete.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The unique name of the workgroup to delete.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The unique name of the workgroup to delete.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The unique name of the workgroup to delete.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The unique name of the workgroup to delete.</p>
*/
inline DeleteWorkGroupRequest& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The unique name of the workgroup to delete.</p>
*/
inline DeleteWorkGroupRequest& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The unique name of the workgroup to delete.</p>
*/
inline DeleteWorkGroupRequest& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
/**
* <p>The option to delete the workgroup and its contents even if the workgroup
* contains any named queries.</p>
*/
inline bool GetRecursiveDeleteOption() const{ return m_recursiveDeleteOption; }
/**
* <p>The option to delete the workgroup and its contents even if the workgroup
* contains any named queries.</p>
*/
inline bool RecursiveDeleteOptionHasBeenSet() const { return m_recursiveDeleteOptionHasBeenSet; }
/**
* <p>The option to delete the workgroup and its contents even if the workgroup
* contains any named queries.</p>
*/
inline void SetRecursiveDeleteOption(bool value) { m_recursiveDeleteOptionHasBeenSet = true; m_recursiveDeleteOption = value; }
/**
* <p>The option to delete the workgroup and its contents even if the workgroup
* contains any named queries.</p>
*/
inline DeleteWorkGroupRequest& WithRecursiveDeleteOption(bool value) { SetRecursiveDeleteOption(value); return *this;}
private:
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
bool m_recursiveDeleteOption;
bool m_recursiveDeleteOptionHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API DeleteWorkGroupResult
{
public:
DeleteWorkGroupResult();
DeleteWorkGroupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DeleteWorkGroupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,169 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/EncryptionOption.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>If query results are encrypted in Amazon S3, indicates the encryption option
* used (for example, <code>SSE-KMS</code> or <code>CSE-KMS</code>) and key
* information.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/EncryptionConfiguration">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API EncryptionConfiguration
{
public:
EncryptionConfiguration();
EncryptionConfiguration(Aws::Utils::Json::JsonView jsonValue);
EncryptionConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Indicates whether Amazon S3 server-side encryption with Amazon S3-managed
* keys (<code>SSE-S3</code>), server-side encryption with KMS-managed keys
* (<code>SSE-KMS</code>), or client-side encryption with KMS-managed keys
* (CSE-KMS) is used.</p> <p>If a query runs in a workgroup and the workgroup
* overrides client-side settings, then the workgroup's setting for encryption is
* used. It specifies whether query results must be encrypted, for all queries that
* run in this workgroup. </p>
*/
inline const EncryptionOption& GetEncryptionOption() const{ return m_encryptionOption; }
/**
* <p>Indicates whether Amazon S3 server-side encryption with Amazon S3-managed
* keys (<code>SSE-S3</code>), server-side encryption with KMS-managed keys
* (<code>SSE-KMS</code>), or client-side encryption with KMS-managed keys
* (CSE-KMS) is used.</p> <p>If a query runs in a workgroup and the workgroup
* overrides client-side settings, then the workgroup's setting for encryption is
* used. It specifies whether query results must be encrypted, for all queries that
* run in this workgroup. </p>
*/
inline bool EncryptionOptionHasBeenSet() const { return m_encryptionOptionHasBeenSet; }
/**
* <p>Indicates whether Amazon S3 server-side encryption with Amazon S3-managed
* keys (<code>SSE-S3</code>), server-side encryption with KMS-managed keys
* (<code>SSE-KMS</code>), or client-side encryption with KMS-managed keys
* (CSE-KMS) is used.</p> <p>If a query runs in a workgroup and the workgroup
* overrides client-side settings, then the workgroup's setting for encryption is
* used. It specifies whether query results must be encrypted, for all queries that
* run in this workgroup. </p>
*/
inline void SetEncryptionOption(const EncryptionOption& value) { m_encryptionOptionHasBeenSet = true; m_encryptionOption = value; }
/**
* <p>Indicates whether Amazon S3 server-side encryption with Amazon S3-managed
* keys (<code>SSE-S3</code>), server-side encryption with KMS-managed keys
* (<code>SSE-KMS</code>), or client-side encryption with KMS-managed keys
* (CSE-KMS) is used.</p> <p>If a query runs in a workgroup and the workgroup
* overrides client-side settings, then the workgroup's setting for encryption is
* used. It specifies whether query results must be encrypted, for all queries that
* run in this workgroup. </p>
*/
inline void SetEncryptionOption(EncryptionOption&& value) { m_encryptionOptionHasBeenSet = true; m_encryptionOption = std::move(value); }
/**
* <p>Indicates whether Amazon S3 server-side encryption with Amazon S3-managed
* keys (<code>SSE-S3</code>), server-side encryption with KMS-managed keys
* (<code>SSE-KMS</code>), or client-side encryption with KMS-managed keys
* (CSE-KMS) is used.</p> <p>If a query runs in a workgroup and the workgroup
* overrides client-side settings, then the workgroup's setting for encryption is
* used. It specifies whether query results must be encrypted, for all queries that
* run in this workgroup. </p>
*/
inline EncryptionConfiguration& WithEncryptionOption(const EncryptionOption& value) { SetEncryptionOption(value); return *this;}
/**
* <p>Indicates whether Amazon S3 server-side encryption with Amazon S3-managed
* keys (<code>SSE-S3</code>), server-side encryption with KMS-managed keys
* (<code>SSE-KMS</code>), or client-side encryption with KMS-managed keys
* (CSE-KMS) is used.</p> <p>If a query runs in a workgroup and the workgroup
* overrides client-side settings, then the workgroup's setting for encryption is
* used. It specifies whether query results must be encrypted, for all queries that
* run in this workgroup. </p>
*/
inline EncryptionConfiguration& WithEncryptionOption(EncryptionOption&& value) { SetEncryptionOption(std::move(value)); return *this;}
/**
* <p>For <code>SSE-KMS</code> and <code>CSE-KMS</code>, this is the KMS key ARN or
* ID.</p>
*/
inline const Aws::String& GetKmsKey() const{ return m_kmsKey; }
/**
* <p>For <code>SSE-KMS</code> and <code>CSE-KMS</code>, this is the KMS key ARN or
* ID.</p>
*/
inline bool KmsKeyHasBeenSet() const { return m_kmsKeyHasBeenSet; }
/**
* <p>For <code>SSE-KMS</code> and <code>CSE-KMS</code>, this is the KMS key ARN or
* ID.</p>
*/
inline void SetKmsKey(const Aws::String& value) { m_kmsKeyHasBeenSet = true; m_kmsKey = value; }
/**
* <p>For <code>SSE-KMS</code> and <code>CSE-KMS</code>, this is the KMS key ARN or
* ID.</p>
*/
inline void SetKmsKey(Aws::String&& value) { m_kmsKeyHasBeenSet = true; m_kmsKey = std::move(value); }
/**
* <p>For <code>SSE-KMS</code> and <code>CSE-KMS</code>, this is the KMS key ARN or
* ID.</p>
*/
inline void SetKmsKey(const char* value) { m_kmsKeyHasBeenSet = true; m_kmsKey.assign(value); }
/**
* <p>For <code>SSE-KMS</code> and <code>CSE-KMS</code>, this is the KMS key ARN or
* ID.</p>
*/
inline EncryptionConfiguration& WithKmsKey(const Aws::String& value) { SetKmsKey(value); return *this;}
/**
* <p>For <code>SSE-KMS</code> and <code>CSE-KMS</code>, this is the KMS key ARN or
* ID.</p>
*/
inline EncryptionConfiguration& WithKmsKey(Aws::String&& value) { SetKmsKey(std::move(value)); return *this;}
/**
* <p>For <code>SSE-KMS</code> and <code>CSE-KMS</code>, this is the KMS key ARN or
* ID.</p>
*/
inline EncryptionConfiguration& WithKmsKey(const char* value) { SetKmsKey(value); return *this;}
private:
EncryptionOption m_encryptionOption;
bool m_encryptionOptionHasBeenSet;
Aws::String m_kmsKey;
bool m_kmsKeyHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
enum class EncryptionOption
{
NOT_SET,
SSE_S3,
SSE_KMS,
CSE_KMS
};
namespace EncryptionOptionMapper
{
AWS_ATHENA_API EncryptionOption GetEncryptionOptionForName(const Aws::String& name);
AWS_ATHENA_API Aws::String GetNameForEncryptionOption(EncryptionOption value);
} // namespace EncryptionOptionMapper
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API GetDataCatalogRequest : public AthenaRequest
{
public:
GetDataCatalogRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetDataCatalog"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the data catalog to return.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the data catalog to return.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the data catalog to return.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the data catalog to return.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the data catalog to return.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the data catalog to return.</p>
*/
inline GetDataCatalogRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the data catalog to return.</p>
*/
inline GetDataCatalogRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog to return.</p>
*/
inline GetDataCatalogRequest& WithName(const char* value) { SetName(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/DataCatalog.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API GetDataCatalogResult
{
public:
GetDataCatalogResult();
GetDataCatalogResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetDataCatalogResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The data catalog returned.</p>
*/
inline const DataCatalog& GetDataCatalog() const{ return m_dataCatalog; }
/**
* <p>The data catalog returned.</p>
*/
inline void SetDataCatalog(const DataCatalog& value) { m_dataCatalog = value; }
/**
* <p>The data catalog returned.</p>
*/
inline void SetDataCatalog(DataCatalog&& value) { m_dataCatalog = std::move(value); }
/**
* <p>The data catalog returned.</p>
*/
inline GetDataCatalogResult& WithDataCatalog(const DataCatalog& value) { SetDataCatalog(value); return *this;}
/**
* <p>The data catalog returned.</p>
*/
inline GetDataCatalogResult& WithDataCatalog(DataCatalog&& value) { SetDataCatalog(std::move(value)); return *this;}
private:
DataCatalog m_dataCatalog;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,129 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API GetDatabaseRequest : public AthenaRequest
{
public:
GetDatabaseRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetDatabase"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the data catalog that contains the database to return.</p>
*/
inline const Aws::String& GetCatalogName() const{ return m_catalogName; }
/**
* <p>The name of the data catalog that contains the database to return.</p>
*/
inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
/**
* <p>The name of the data catalog that contains the database to return.</p>
*/
inline void SetCatalogName(const Aws::String& value) { m_catalogNameHasBeenSet = true; m_catalogName = value; }
/**
* <p>The name of the data catalog that contains the database to return.</p>
*/
inline void SetCatalogName(Aws::String&& value) { m_catalogNameHasBeenSet = true; m_catalogName = std::move(value); }
/**
* <p>The name of the data catalog that contains the database to return.</p>
*/
inline void SetCatalogName(const char* value) { m_catalogNameHasBeenSet = true; m_catalogName.assign(value); }
/**
* <p>The name of the data catalog that contains the database to return.</p>
*/
inline GetDatabaseRequest& WithCatalogName(const Aws::String& value) { SetCatalogName(value); return *this;}
/**
* <p>The name of the data catalog that contains the database to return.</p>
*/
inline GetDatabaseRequest& WithCatalogName(Aws::String&& value) { SetCatalogName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog that contains the database to return.</p>
*/
inline GetDatabaseRequest& WithCatalogName(const char* value) { SetCatalogName(value); return *this;}
/**
* <p>The name of the database to return.</p>
*/
inline const Aws::String& GetDatabaseName() const{ return m_databaseName; }
/**
* <p>The name of the database to return.</p>
*/
inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; }
/**
* <p>The name of the database to return.</p>
*/
inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; }
/**
* <p>The name of the database to return.</p>
*/
inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); }
/**
* <p>The name of the database to return.</p>
*/
inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); }
/**
* <p>The name of the database to return.</p>
*/
inline GetDatabaseRequest& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;}
/**
* <p>The name of the database to return.</p>
*/
inline GetDatabaseRequest& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;}
/**
* <p>The name of the database to return.</p>
*/
inline GetDatabaseRequest& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;}
private:
Aws::String m_catalogName;
bool m_catalogNameHasBeenSet;
Aws::String m_databaseName;
bool m_databaseNameHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/Database.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API GetDatabaseResult
{
public:
GetDatabaseResult();
GetDatabaseResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetDatabaseResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The database returned.</p>
*/
inline const Database& GetDatabase() const{ return m_database; }
/**
* <p>The database returned.</p>
*/
inline void SetDatabase(const Database& value) { m_database = value; }
/**
* <p>The database returned.</p>
*/
inline void SetDatabase(Database&& value) { m_database = std::move(value); }
/**
* <p>The database returned.</p>
*/
inline GetDatabaseResult& WithDatabase(const Database& value) { SetDatabase(value); return *this;}
/**
* <p>The database returned.</p>
*/
inline GetDatabaseResult& WithDatabase(Database&& value) { SetDatabase(std::move(value)); return *this;}
private:
Database m_database;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API GetNamedQueryRequest : public AthenaRequest
{
public:
GetNamedQueryRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetNamedQuery"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The unique ID of the query. Use <a>ListNamedQueries</a> to get query IDs.</p>
*/
inline const Aws::String& GetNamedQueryId() const{ return m_namedQueryId; }
/**
* <p>The unique ID of the query. Use <a>ListNamedQueries</a> to get query IDs.</p>
*/
inline bool NamedQueryIdHasBeenSet() const { return m_namedQueryIdHasBeenSet; }
/**
* <p>The unique ID of the query. Use <a>ListNamedQueries</a> to get query IDs.</p>
*/
inline void SetNamedQueryId(const Aws::String& value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId = value; }
/**
* <p>The unique ID of the query. Use <a>ListNamedQueries</a> to get query IDs.</p>
*/
inline void SetNamedQueryId(Aws::String&& value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId = std::move(value); }
/**
* <p>The unique ID of the query. Use <a>ListNamedQueries</a> to get query IDs.</p>
*/
inline void SetNamedQueryId(const char* value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId.assign(value); }
/**
* <p>The unique ID of the query. Use <a>ListNamedQueries</a> to get query IDs.</p>
*/
inline GetNamedQueryRequest& WithNamedQueryId(const Aws::String& value) { SetNamedQueryId(value); return *this;}
/**
* <p>The unique ID of the query. Use <a>ListNamedQueries</a> to get query IDs.</p>
*/
inline GetNamedQueryRequest& WithNamedQueryId(Aws::String&& value) { SetNamedQueryId(std::move(value)); return *this;}
/**
* <p>The unique ID of the query. Use <a>ListNamedQueries</a> to get query IDs.</p>
*/
inline GetNamedQueryRequest& WithNamedQueryId(const char* value) { SetNamedQueryId(value); return *this;}
private:
Aws::String m_namedQueryId;
bool m_namedQueryIdHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/NamedQuery.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API GetNamedQueryResult
{
public:
GetNamedQueryResult();
GetNamedQueryResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetNamedQueryResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the query.</p>
*/
inline const NamedQuery& GetNamedQuery() const{ return m_namedQuery; }
/**
* <p>Information about the query.</p>
*/
inline void SetNamedQuery(const NamedQuery& value) { m_namedQuery = value; }
/**
* <p>Information about the query.</p>
*/
inline void SetNamedQuery(NamedQuery&& value) { m_namedQuery = std::move(value); }
/**
* <p>Information about the query.</p>
*/
inline GetNamedQueryResult& WithNamedQuery(const NamedQuery& value) { SetNamedQuery(value); return *this;}
/**
* <p>Information about the query.</p>
*/
inline GetNamedQueryResult& WithNamedQuery(NamedQuery&& value) { SetNamedQuery(std::move(value)); return *this;}
private:
NamedQuery m_namedQuery;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API GetQueryExecutionRequest : public AthenaRequest
{
public:
GetQueryExecutionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetQueryExecution"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The unique ID of the query execution.</p>
*/
inline const Aws::String& GetQueryExecutionId() const{ return m_queryExecutionId; }
/**
* <p>The unique ID of the query execution.</p>
*/
inline bool QueryExecutionIdHasBeenSet() const { return m_queryExecutionIdHasBeenSet; }
/**
* <p>The unique ID of the query execution.</p>
*/
inline void SetQueryExecutionId(const Aws::String& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = value; }
/**
* <p>The unique ID of the query execution.</p>
*/
inline void SetQueryExecutionId(Aws::String&& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = std::move(value); }
/**
* <p>The unique ID of the query execution.</p>
*/
inline void SetQueryExecutionId(const char* value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId.assign(value); }
/**
* <p>The unique ID of the query execution.</p>
*/
inline GetQueryExecutionRequest& WithQueryExecutionId(const Aws::String& value) { SetQueryExecutionId(value); return *this;}
/**
* <p>The unique ID of the query execution.</p>
*/
inline GetQueryExecutionRequest& WithQueryExecutionId(Aws::String&& value) { SetQueryExecutionId(std::move(value)); return *this;}
/**
* <p>The unique ID of the query execution.</p>
*/
inline GetQueryExecutionRequest& WithQueryExecutionId(const char* value) { SetQueryExecutionId(value); return *this;}
private:
Aws::String m_queryExecutionId;
bool m_queryExecutionIdHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/QueryExecution.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API GetQueryExecutionResult
{
public:
GetQueryExecutionResult();
GetQueryExecutionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetQueryExecutionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the query execution.</p>
*/
inline const QueryExecution& GetQueryExecution() const{ return m_queryExecution; }
/**
* <p>Information about the query execution.</p>
*/
inline void SetQueryExecution(const QueryExecution& value) { m_queryExecution = value; }
/**
* <p>Information about the query execution.</p>
*/
inline void SetQueryExecution(QueryExecution&& value) { m_queryExecution = std::move(value); }
/**
* <p>Information about the query execution.</p>
*/
inline GetQueryExecutionResult& WithQueryExecution(const QueryExecution& value) { SetQueryExecution(value); return *this;}
/**
* <p>Information about the query execution.</p>
*/
inline GetQueryExecutionResult& WithQueryExecution(QueryExecution&& value) { SetQueryExecution(std::move(value)); return *this;}
private:
QueryExecution m_queryExecution;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,177 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API GetQueryResultsRequest : public AthenaRequest
{
public:
GetQueryResultsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetQueryResults"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The unique ID of the query execution.</p>
*/
inline const Aws::String& GetQueryExecutionId() const{ return m_queryExecutionId; }
/**
* <p>The unique ID of the query execution.</p>
*/
inline bool QueryExecutionIdHasBeenSet() const { return m_queryExecutionIdHasBeenSet; }
/**
* <p>The unique ID of the query execution.</p>
*/
inline void SetQueryExecutionId(const Aws::String& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = value; }
/**
* <p>The unique ID of the query execution.</p>
*/
inline void SetQueryExecutionId(Aws::String&& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = std::move(value); }
/**
* <p>The unique ID of the query execution.</p>
*/
inline void SetQueryExecutionId(const char* value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId.assign(value); }
/**
* <p>The unique ID of the query execution.</p>
*/
inline GetQueryResultsRequest& WithQueryExecutionId(const Aws::String& value) { SetQueryExecutionId(value); return *this;}
/**
* <p>The unique ID of the query execution.</p>
*/
inline GetQueryResultsRequest& WithQueryExecutionId(Aws::String&& value) { SetQueryExecutionId(std::move(value)); return *this;}
/**
* <p>The unique ID of the query execution.</p>
*/
inline GetQueryResultsRequest& WithQueryExecutionId(const char* value) { SetQueryExecutionId(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline GetQueryResultsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline GetQueryResultsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline GetQueryResultsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>The maximum number of results (rows) to return in this request.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of results (rows) to return in this request.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of results (rows) to return in this request.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of results (rows) to return in this request.</p>
*/
inline GetQueryResultsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
private:
Aws::String m_queryExecutionId;
bool m_queryExecutionIdHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,145 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/ResultSet.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API GetQueryResultsResult
{
public:
GetQueryResultsResult();
GetQueryResultsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetQueryResultsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The number of rows inserted with a CREATE TABLE AS SELECT statement. </p>
*/
inline long long GetUpdateCount() const{ return m_updateCount; }
/**
* <p>The number of rows inserted with a CREATE TABLE AS SELECT statement. </p>
*/
inline void SetUpdateCount(long long value) { m_updateCount = value; }
/**
* <p>The number of rows inserted with a CREATE TABLE AS SELECT statement. </p>
*/
inline GetQueryResultsResult& WithUpdateCount(long long value) { SetUpdateCount(value); return *this;}
/**
* <p>The results of the query execution.</p>
*/
inline const ResultSet& GetResultSet() const{ return m_resultSet; }
/**
* <p>The results of the query execution.</p>
*/
inline void SetResultSet(const ResultSet& value) { m_resultSet = value; }
/**
* <p>The results of the query execution.</p>
*/
inline void SetResultSet(ResultSet&& value) { m_resultSet = std::move(value); }
/**
* <p>The results of the query execution.</p>
*/
inline GetQueryResultsResult& WithResultSet(const ResultSet& value) { SetResultSet(value); return *this;}
/**
* <p>The results of the query execution.</p>
*/
inline GetQueryResultsResult& WithResultSet(ResultSet&& value) { SetResultSet(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline GetQueryResultsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline GetQueryResultsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline GetQueryResultsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
long long m_updateCount;
ResultSet m_resultSet;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,181 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API GetTableMetadataRequest : public AthenaRequest
{
public:
GetTableMetadataRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetTableMetadata"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the data catalog that contains the database and table metadata to
* return.</p>
*/
inline const Aws::String& GetCatalogName() const{ return m_catalogName; }
/**
* <p>The name of the data catalog that contains the database and table metadata to
* return.</p>
*/
inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
/**
* <p>The name of the data catalog that contains the database and table metadata to
* return.</p>
*/
inline void SetCatalogName(const Aws::String& value) { m_catalogNameHasBeenSet = true; m_catalogName = value; }
/**
* <p>The name of the data catalog that contains the database and table metadata to
* return.</p>
*/
inline void SetCatalogName(Aws::String&& value) { m_catalogNameHasBeenSet = true; m_catalogName = std::move(value); }
/**
* <p>The name of the data catalog that contains the database and table metadata to
* return.</p>
*/
inline void SetCatalogName(const char* value) { m_catalogNameHasBeenSet = true; m_catalogName.assign(value); }
/**
* <p>The name of the data catalog that contains the database and table metadata to
* return.</p>
*/
inline GetTableMetadataRequest& WithCatalogName(const Aws::String& value) { SetCatalogName(value); return *this;}
/**
* <p>The name of the data catalog that contains the database and table metadata to
* return.</p>
*/
inline GetTableMetadataRequest& WithCatalogName(Aws::String&& value) { SetCatalogName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog that contains the database and table metadata to
* return.</p>
*/
inline GetTableMetadataRequest& WithCatalogName(const char* value) { SetCatalogName(value); return *this;}
/**
* <p>The name of the database that contains the table metadata to return.</p>
*/
inline const Aws::String& GetDatabaseName() const{ return m_databaseName; }
/**
* <p>The name of the database that contains the table metadata to return.</p>
*/
inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; }
/**
* <p>The name of the database that contains the table metadata to return.</p>
*/
inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; }
/**
* <p>The name of the database that contains the table metadata to return.</p>
*/
inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); }
/**
* <p>The name of the database that contains the table metadata to return.</p>
*/
inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); }
/**
* <p>The name of the database that contains the table metadata to return.</p>
*/
inline GetTableMetadataRequest& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;}
/**
* <p>The name of the database that contains the table metadata to return.</p>
*/
inline GetTableMetadataRequest& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;}
/**
* <p>The name of the database that contains the table metadata to return.</p>
*/
inline GetTableMetadataRequest& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;}
/**
* <p>The name of the table for which metadata is returned.</p>
*/
inline const Aws::String& GetTableName() const{ return m_tableName; }
/**
* <p>The name of the table for which metadata is returned.</p>
*/
inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
/**
* <p>The name of the table for which metadata is returned.</p>
*/
inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; }
/**
* <p>The name of the table for which metadata is returned.</p>
*/
inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); }
/**
* <p>The name of the table for which metadata is returned.</p>
*/
inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); }
/**
* <p>The name of the table for which metadata is returned.</p>
*/
inline GetTableMetadataRequest& WithTableName(const Aws::String& value) { SetTableName(value); return *this;}
/**
* <p>The name of the table for which metadata is returned.</p>
*/
inline GetTableMetadataRequest& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;}
/**
* <p>The name of the table for which metadata is returned.</p>
*/
inline GetTableMetadataRequest& WithTableName(const char* value) { SetTableName(value); return *this;}
private:
Aws::String m_catalogName;
bool m_catalogNameHasBeenSet;
Aws::String m_databaseName;
bool m_databaseNameHasBeenSet;
Aws::String m_tableName;
bool m_tableNameHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/TableMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API GetTableMetadataResult
{
public:
GetTableMetadataResult();
GetTableMetadataResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetTableMetadataResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>An object that contains table metadata.</p>
*/
inline const TableMetadata& GetTableMetadata() const{ return m_tableMetadata; }
/**
* <p>An object that contains table metadata.</p>
*/
inline void SetTableMetadata(const TableMetadata& value) { m_tableMetadata = value; }
/**
* <p>An object that contains table metadata.</p>
*/
inline void SetTableMetadata(TableMetadata&& value) { m_tableMetadata = std::move(value); }
/**
* <p>An object that contains table metadata.</p>
*/
inline GetTableMetadataResult& WithTableMetadata(const TableMetadata& value) { SetTableMetadata(value); return *this;}
/**
* <p>An object that contains table metadata.</p>
*/
inline GetTableMetadataResult& WithTableMetadata(TableMetadata&& value) { SetTableMetadata(std::move(value)); return *this;}
private:
TableMetadata m_tableMetadata;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,85 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API GetWorkGroupRequest : public AthenaRequest
{
public:
GetWorkGroupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "GetWorkGroup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the workgroup.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The name of the workgroup.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The name of the workgroup.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The name of the workgroup.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The name of the workgroup.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The name of the workgroup.</p>
*/
inline GetWorkGroupRequest& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The name of the workgroup.</p>
*/
inline GetWorkGroupRequest& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The name of the workgroup.</p>
*/
inline GetWorkGroupRequest& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
private:
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/WorkGroup.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API GetWorkGroupResult
{
public:
GetWorkGroupResult();
GetWorkGroupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetWorkGroupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Information about the workgroup.</p>
*/
inline const WorkGroup& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>Information about the workgroup.</p>
*/
inline void SetWorkGroup(const WorkGroup& value) { m_workGroup = value; }
/**
* <p>Information about the workgroup.</p>
*/
inline void SetWorkGroup(WorkGroup&& value) { m_workGroup = std::move(value); }
/**
* <p>Information about the workgroup.</p>
*/
inline GetWorkGroupResult& WithWorkGroup(const WorkGroup& value) { SetWorkGroup(value); return *this;}
/**
* <p>Information about the workgroup.</p>
*/
inline GetWorkGroupResult& WithWorkGroup(WorkGroup&& value) { SetWorkGroup(std::move(value)); return *this;}
private:
WorkGroup m_workGroup;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,102 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Indicates that something is wrong with the input to the request. For example,
* a required parameter may be missing or out of range.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/InvalidRequestException">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API InvalidRequestException
{
public:
InvalidRequestException();
InvalidRequestException(Aws::Utils::Json::JsonView jsonValue);
InvalidRequestException& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetAthenaErrorCode() const{ return m_athenaErrorCode; }
inline bool AthenaErrorCodeHasBeenSet() const { return m_athenaErrorCodeHasBeenSet; }
inline void SetAthenaErrorCode(const Aws::String& value) { m_athenaErrorCodeHasBeenSet = true; m_athenaErrorCode = value; }
inline void SetAthenaErrorCode(Aws::String&& value) { m_athenaErrorCodeHasBeenSet = true; m_athenaErrorCode = std::move(value); }
inline void SetAthenaErrorCode(const char* value) { m_athenaErrorCodeHasBeenSet = true; m_athenaErrorCode.assign(value); }
inline InvalidRequestException& WithAthenaErrorCode(const Aws::String& value) { SetAthenaErrorCode(value); return *this;}
inline InvalidRequestException& WithAthenaErrorCode(Aws::String&& value) { SetAthenaErrorCode(std::move(value)); return *this;}
inline InvalidRequestException& WithAthenaErrorCode(const char* value) { SetAthenaErrorCode(value); return *this;}
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline InvalidRequestException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline InvalidRequestException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline InvalidRequestException& WithMessage(const char* value) { SetMessage(value); return *this;}
private:
Aws::String m_athenaErrorCode;
bool m_athenaErrorCodeHasBeenSet;
Aws::String m_message;
bool m_messageHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,125 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API ListDataCatalogsRequest : public AthenaRequest
{
public:
ListDataCatalogsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListDataCatalogs"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDataCatalogsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDataCatalogsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDataCatalogsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>Specifies the maximum number of data catalogs to return.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>Specifies the maximum number of data catalogs to return.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>Specifies the maximum number of data catalogs to return.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>Specifies the maximum number of data catalogs to return.</p>
*/
inline ListDataCatalogsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
private:
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,131 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/DataCatalogSummary.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API ListDataCatalogsResult
{
public:
ListDataCatalogsResult();
ListDataCatalogsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListDataCatalogsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A summary list of data catalogs.</p>
*/
inline const Aws::Vector<DataCatalogSummary>& GetDataCatalogsSummary() const{ return m_dataCatalogsSummary; }
/**
* <p>A summary list of data catalogs.</p>
*/
inline void SetDataCatalogsSummary(const Aws::Vector<DataCatalogSummary>& value) { m_dataCatalogsSummary = value; }
/**
* <p>A summary list of data catalogs.</p>
*/
inline void SetDataCatalogsSummary(Aws::Vector<DataCatalogSummary>&& value) { m_dataCatalogsSummary = std::move(value); }
/**
* <p>A summary list of data catalogs.</p>
*/
inline ListDataCatalogsResult& WithDataCatalogsSummary(const Aws::Vector<DataCatalogSummary>& value) { SetDataCatalogsSummary(value); return *this;}
/**
* <p>A summary list of data catalogs.</p>
*/
inline ListDataCatalogsResult& WithDataCatalogsSummary(Aws::Vector<DataCatalogSummary>&& value) { SetDataCatalogsSummary(std::move(value)); return *this;}
/**
* <p>A summary list of data catalogs.</p>
*/
inline ListDataCatalogsResult& AddDataCatalogsSummary(const DataCatalogSummary& value) { m_dataCatalogsSummary.push_back(value); return *this; }
/**
* <p>A summary list of data catalogs.</p>
*/
inline ListDataCatalogsResult& AddDataCatalogsSummary(DataCatalogSummary&& value) { m_dataCatalogsSummary.push_back(std::move(value)); return *this; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDataCatalogsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDataCatalogsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDataCatalogsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<DataCatalogSummary> m_dataCatalogsSummary;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,177 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API ListDatabasesRequest : public AthenaRequest
{
public:
ListDatabasesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListDatabases"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the data catalog that contains the databases to return.</p>
*/
inline const Aws::String& GetCatalogName() const{ return m_catalogName; }
/**
* <p>The name of the data catalog that contains the databases to return.</p>
*/
inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
/**
* <p>The name of the data catalog that contains the databases to return.</p>
*/
inline void SetCatalogName(const Aws::String& value) { m_catalogNameHasBeenSet = true; m_catalogName = value; }
/**
* <p>The name of the data catalog that contains the databases to return.</p>
*/
inline void SetCatalogName(Aws::String&& value) { m_catalogNameHasBeenSet = true; m_catalogName = std::move(value); }
/**
* <p>The name of the data catalog that contains the databases to return.</p>
*/
inline void SetCatalogName(const char* value) { m_catalogNameHasBeenSet = true; m_catalogName.assign(value); }
/**
* <p>The name of the data catalog that contains the databases to return.</p>
*/
inline ListDatabasesRequest& WithCatalogName(const Aws::String& value) { SetCatalogName(value); return *this;}
/**
* <p>The name of the data catalog that contains the databases to return.</p>
*/
inline ListDatabasesRequest& WithCatalogName(Aws::String&& value) { SetCatalogName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog that contains the databases to return.</p>
*/
inline ListDatabasesRequest& WithCatalogName(const char* value) { SetCatalogName(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListDatabasesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListDatabasesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListDatabasesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>Specifies the maximum number of results to return.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>Specifies the maximum number of results to return.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>Specifies the maximum number of results to return.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>Specifies the maximum number of results to return.</p>
*/
inline ListDatabasesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
private:
Aws::String m_catalogName;
bool m_catalogNameHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,131 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/Database.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API ListDatabasesResult
{
public:
ListDatabasesResult();
ListDatabasesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListDatabasesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of databases from a data catalog.</p>
*/
inline const Aws::Vector<Database>& GetDatabaseList() const{ return m_databaseList; }
/**
* <p>A list of databases from a data catalog.</p>
*/
inline void SetDatabaseList(const Aws::Vector<Database>& value) { m_databaseList = value; }
/**
* <p>A list of databases from a data catalog.</p>
*/
inline void SetDatabaseList(Aws::Vector<Database>&& value) { m_databaseList = std::move(value); }
/**
* <p>A list of databases from a data catalog.</p>
*/
inline ListDatabasesResult& WithDatabaseList(const Aws::Vector<Database>& value) { SetDatabaseList(value); return *this;}
/**
* <p>A list of databases from a data catalog.</p>
*/
inline ListDatabasesResult& WithDatabaseList(Aws::Vector<Database>&& value) { SetDatabaseList(std::move(value)); return *this;}
/**
* <p>A list of databases from a data catalog.</p>
*/
inline ListDatabasesResult& AddDatabaseList(const Database& value) { m_databaseList.push_back(value); return *this; }
/**
* <p>A list of databases from a data catalog.</p>
*/
inline ListDatabasesResult& AddDatabaseList(Database&& value) { m_databaseList.push_back(std::move(value)); return *this; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDatabasesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDatabasesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListDatabasesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Database> m_databaseList;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,193 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API ListNamedQueriesRequest : public AthenaRequest
{
public:
ListNamedQueriesRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListNamedQueries"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListNamedQueriesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListNamedQueriesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListNamedQueriesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>The maximum number of queries to return in this request.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of queries to return in this request.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of queries to return in this request.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of queries to return in this request.</p>
*/
inline ListNamedQueriesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The name of the workgroup from which the named queries are being returned. If
* a workgroup is not specified, the saved queries for the primary workgroup are
* returned.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The name of the workgroup from which the named queries are being returned. If
* a workgroup is not specified, the saved queries for the primary workgroup are
* returned.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The name of the workgroup from which the named queries are being returned. If
* a workgroup is not specified, the saved queries for the primary workgroup are
* returned.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The name of the workgroup from which the named queries are being returned. If
* a workgroup is not specified, the saved queries for the primary workgroup are
* returned.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The name of the workgroup from which the named queries are being returned. If
* a workgroup is not specified, the saved queries for the primary workgroup are
* returned.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The name of the workgroup from which the named queries are being returned. If
* a workgroup is not specified, the saved queries for the primary workgroup are
* returned.</p>
*/
inline ListNamedQueriesRequest& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The name of the workgroup from which the named queries are being returned. If
* a workgroup is not specified, the saved queries for the primary workgroup are
* returned.</p>
*/
inline ListNamedQueriesRequest& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The name of the workgroup from which the named queries are being returned. If
* a workgroup is not specified, the saved queries for the primary workgroup are
* returned.</p>
*/
inline ListNamedQueriesRequest& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
private:
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,142 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API ListNamedQueriesResult
{
public:
ListNamedQueriesResult();
ListNamedQueriesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListNamedQueriesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of unique query IDs.</p>
*/
inline const Aws::Vector<Aws::String>& GetNamedQueryIds() const{ return m_namedQueryIds; }
/**
* <p>The list of unique query IDs.</p>
*/
inline void SetNamedQueryIds(const Aws::Vector<Aws::String>& value) { m_namedQueryIds = value; }
/**
* <p>The list of unique query IDs.</p>
*/
inline void SetNamedQueryIds(Aws::Vector<Aws::String>&& value) { m_namedQueryIds = std::move(value); }
/**
* <p>The list of unique query IDs.</p>
*/
inline ListNamedQueriesResult& WithNamedQueryIds(const Aws::Vector<Aws::String>& value) { SetNamedQueryIds(value); return *this;}
/**
* <p>The list of unique query IDs.</p>
*/
inline ListNamedQueriesResult& WithNamedQueryIds(Aws::Vector<Aws::String>&& value) { SetNamedQueryIds(std::move(value)); return *this;}
/**
* <p>The list of unique query IDs.</p>
*/
inline ListNamedQueriesResult& AddNamedQueryIds(const Aws::String& value) { m_namedQueryIds.push_back(value); return *this; }
/**
* <p>The list of unique query IDs.</p>
*/
inline ListNamedQueriesResult& AddNamedQueryIds(Aws::String&& value) { m_namedQueryIds.push_back(std::move(value)); return *this; }
/**
* <p>The list of unique query IDs.</p>
*/
inline ListNamedQueriesResult& AddNamedQueryIds(const char* value) { m_namedQueryIds.push_back(value); return *this; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListNamedQueriesResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListNamedQueriesResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListNamedQueriesResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_namedQueryIds;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,193 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API ListQueryExecutionsRequest : public AthenaRequest
{
public:
ListQueryExecutionsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListQueryExecutions"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListQueryExecutionsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListQueryExecutionsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListQueryExecutionsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>The maximum number of query executions to return in this request.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of query executions to return in this request.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of query executions to return in this request.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of query executions to return in this request.</p>
*/
inline ListQueryExecutionsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
/**
* <p>The name of the workgroup from which queries are being returned. If a
* workgroup is not specified, a list of available query execution IDs for the
* queries in the primary workgroup is returned.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The name of the workgroup from which queries are being returned. If a
* workgroup is not specified, a list of available query execution IDs for the
* queries in the primary workgroup is returned.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The name of the workgroup from which queries are being returned. If a
* workgroup is not specified, a list of available query execution IDs for the
* queries in the primary workgroup is returned.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The name of the workgroup from which queries are being returned. If a
* workgroup is not specified, a list of available query execution IDs for the
* queries in the primary workgroup is returned.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The name of the workgroup from which queries are being returned. If a
* workgroup is not specified, a list of available query execution IDs for the
* queries in the primary workgroup is returned.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The name of the workgroup from which queries are being returned. If a
* workgroup is not specified, a list of available query execution IDs for the
* queries in the primary workgroup is returned.</p>
*/
inline ListQueryExecutionsRequest& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The name of the workgroup from which queries are being returned. If a
* workgroup is not specified, a list of available query execution IDs for the
* queries in the primary workgroup is returned.</p>
*/
inline ListQueryExecutionsRequest& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The name of the workgroup from which queries are being returned. If a
* workgroup is not specified, a list of available query execution IDs for the
* queries in the primary workgroup is returned.</p>
*/
inline ListQueryExecutionsRequest& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
private:
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,121 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API ListQueryExecutionsResult
{
public:
ListQueryExecutionsResult();
ListQueryExecutionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListQueryExecutionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The unique IDs of each query execution as an array of strings.</p>
*/
inline const Aws::Vector<Aws::String>& GetQueryExecutionIds() const{ return m_queryExecutionIds; }
/**
* <p>The unique IDs of each query execution as an array of strings.</p>
*/
inline void SetQueryExecutionIds(const Aws::Vector<Aws::String>& value) { m_queryExecutionIds = value; }
/**
* <p>The unique IDs of each query execution as an array of strings.</p>
*/
inline void SetQueryExecutionIds(Aws::Vector<Aws::String>&& value) { m_queryExecutionIds = std::move(value); }
/**
* <p>The unique IDs of each query execution as an array of strings.</p>
*/
inline ListQueryExecutionsResult& WithQueryExecutionIds(const Aws::Vector<Aws::String>& value) { SetQueryExecutionIds(value); return *this;}
/**
* <p>The unique IDs of each query execution as an array of strings.</p>
*/
inline ListQueryExecutionsResult& WithQueryExecutionIds(Aws::Vector<Aws::String>&& value) { SetQueryExecutionIds(std::move(value)); return *this;}
/**
* <p>The unique IDs of each query execution as an array of strings.</p>
*/
inline ListQueryExecutionsResult& AddQueryExecutionIds(const Aws::String& value) { m_queryExecutionIds.push_back(value); return *this; }
/**
* <p>The unique IDs of each query execution as an array of strings.</p>
*/
inline ListQueryExecutionsResult& AddQueryExecutionIds(Aws::String&& value) { m_queryExecutionIds.push_back(std::move(value)); return *this; }
/**
* <p>The unique IDs of each query execution as an array of strings.</p>
*/
inline ListQueryExecutionsResult& AddQueryExecutionIds(const char* value) { m_queryExecutionIds.push_back(value); return *this; }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline ListQueryExecutionsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline ListQueryExecutionsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline ListQueryExecutionsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Aws::String> m_queryExecutionIds;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,265 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API ListTableMetadataRequest : public AthenaRequest
{
public:
ListTableMetadataRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListTableMetadata"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the data catalog for which table metadata should be returned.</p>
*/
inline const Aws::String& GetCatalogName() const{ return m_catalogName; }
/**
* <p>The name of the data catalog for which table metadata should be returned.</p>
*/
inline bool CatalogNameHasBeenSet() const { return m_catalogNameHasBeenSet; }
/**
* <p>The name of the data catalog for which table metadata should be returned.</p>
*/
inline void SetCatalogName(const Aws::String& value) { m_catalogNameHasBeenSet = true; m_catalogName = value; }
/**
* <p>The name of the data catalog for which table metadata should be returned.</p>
*/
inline void SetCatalogName(Aws::String&& value) { m_catalogNameHasBeenSet = true; m_catalogName = std::move(value); }
/**
* <p>The name of the data catalog for which table metadata should be returned.</p>
*/
inline void SetCatalogName(const char* value) { m_catalogNameHasBeenSet = true; m_catalogName.assign(value); }
/**
* <p>The name of the data catalog for which table metadata should be returned.</p>
*/
inline ListTableMetadataRequest& WithCatalogName(const Aws::String& value) { SetCatalogName(value); return *this;}
/**
* <p>The name of the data catalog for which table metadata should be returned.</p>
*/
inline ListTableMetadataRequest& WithCatalogName(Aws::String&& value) { SetCatalogName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog for which table metadata should be returned.</p>
*/
inline ListTableMetadataRequest& WithCatalogName(const char* value) { SetCatalogName(value); return *this;}
/**
* <p>The name of the database for which table metadata should be returned.</p>
*/
inline const Aws::String& GetDatabaseName() const{ return m_databaseName; }
/**
* <p>The name of the database for which table metadata should be returned.</p>
*/
inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; }
/**
* <p>The name of the database for which table metadata should be returned.</p>
*/
inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; }
/**
* <p>The name of the database for which table metadata should be returned.</p>
*/
inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); }
/**
* <p>The name of the database for which table metadata should be returned.</p>
*/
inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); }
/**
* <p>The name of the database for which table metadata should be returned.</p>
*/
inline ListTableMetadataRequest& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;}
/**
* <p>The name of the database for which table metadata should be returned.</p>
*/
inline ListTableMetadataRequest& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;}
/**
* <p>The name of the database for which table metadata should be returned.</p>
*/
inline ListTableMetadataRequest& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;}
/**
* <p>A regex filter that pattern-matches table names. If no expression is
* supplied, metadata for all tables are listed.</p>
*/
inline const Aws::String& GetExpression() const{ return m_expression; }
/**
* <p>A regex filter that pattern-matches table names. If no expression is
* supplied, metadata for all tables are listed.</p>
*/
inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; }
/**
* <p>A regex filter that pattern-matches table names. If no expression is
* supplied, metadata for all tables are listed.</p>
*/
inline void SetExpression(const Aws::String& value) { m_expressionHasBeenSet = true; m_expression = value; }
/**
* <p>A regex filter that pattern-matches table names. If no expression is
* supplied, metadata for all tables are listed.</p>
*/
inline void SetExpression(Aws::String&& value) { m_expressionHasBeenSet = true; m_expression = std::move(value); }
/**
* <p>A regex filter that pattern-matches table names. If no expression is
* supplied, metadata for all tables are listed.</p>
*/
inline void SetExpression(const char* value) { m_expressionHasBeenSet = true; m_expression.assign(value); }
/**
* <p>A regex filter that pattern-matches table names. If no expression is
* supplied, metadata for all tables are listed.</p>
*/
inline ListTableMetadataRequest& WithExpression(const Aws::String& value) { SetExpression(value); return *this;}
/**
* <p>A regex filter that pattern-matches table names. If no expression is
* supplied, metadata for all tables are listed.</p>
*/
inline ListTableMetadataRequest& WithExpression(Aws::String&& value) { SetExpression(std::move(value)); return *this;}
/**
* <p>A regex filter that pattern-matches table names. If no expression is
* supplied, metadata for all tables are listed.</p>
*/
inline ListTableMetadataRequest& WithExpression(const char* value) { SetExpression(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListTableMetadataRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListTableMetadataRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListTableMetadataRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>Specifies the maximum number of results to return.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>Specifies the maximum number of results to return.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>Specifies the maximum number of results to return.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>Specifies the maximum number of results to return.</p>
*/
inline ListTableMetadataRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
private:
Aws::String m_catalogName;
bool m_catalogNameHasBeenSet;
Aws::String m_databaseName;
bool m_databaseNameHasBeenSet;
Aws::String m_expression;
bool m_expressionHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,131 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/TableMetadata.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API ListTableMetadataResult
{
public:
ListTableMetadataResult();
ListTableMetadataResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListTableMetadataResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of table metadata.</p>
*/
inline const Aws::Vector<TableMetadata>& GetTableMetadataList() const{ return m_tableMetadataList; }
/**
* <p>A list of table metadata.</p>
*/
inline void SetTableMetadataList(const Aws::Vector<TableMetadata>& value) { m_tableMetadataList = value; }
/**
* <p>A list of table metadata.</p>
*/
inline void SetTableMetadataList(Aws::Vector<TableMetadata>&& value) { m_tableMetadataList = std::move(value); }
/**
* <p>A list of table metadata.</p>
*/
inline ListTableMetadataResult& WithTableMetadataList(const Aws::Vector<TableMetadata>& value) { SetTableMetadataList(value); return *this;}
/**
* <p>A list of table metadata.</p>
*/
inline ListTableMetadataResult& WithTableMetadataList(Aws::Vector<TableMetadata>&& value) { SetTableMetadataList(std::move(value)); return *this;}
/**
* <p>A list of table metadata.</p>
*/
inline ListTableMetadataResult& AddTableMetadataList(const TableMetadata& value) { m_tableMetadataList.push_back(value); return *this; }
/**
* <p>A list of table metadata.</p>
*/
inline ListTableMetadataResult& AddTableMetadataList(TableMetadata&& value) { m_tableMetadataList.push_back(std::move(value)); return *this; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListTableMetadataResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListTableMetadataResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the NextToken from the response object of the previous page call.</p>
*/
inline ListTableMetadataResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<TableMetadata> m_tableMetadataList;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,173 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API ListTagsForResourceRequest : public AthenaRequest
{
public:
ListTagsForResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListTagsForResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>Lists the tags for the resource with the specified ARN.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>Lists the tags for the resource with the specified ARN.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>Lists the tags for the resource with the specified ARN.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>Lists the tags for the resource with the specified ARN.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>Lists the tags for the resource with the specified ARN.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>Lists the tags for the resource with the specified ARN.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>Lists the tags for the resource with the specified ARN.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>Lists the tags for the resource with the specified ARN.</p>
*/
inline ListTagsForResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>The token for the next set of results, or null if there are no additional
* results for this request, where the request lists the tags for the resource with
* the specified ARN.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>The token for the next set of results, or null if there are no additional
* results for this request, where the request lists the tags for the resource with
* the specified ARN.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>The token for the next set of results, or null if there are no additional
* results for this request, where the request lists the tags for the resource with
* the specified ARN.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>The token for the next set of results, or null if there are no additional
* results for this request, where the request lists the tags for the resource with
* the specified ARN.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>The token for the next set of results, or null if there are no additional
* results for this request, where the request lists the tags for the resource with
* the specified ARN.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>The token for the next set of results, or null if there are no additional
* results for this request, where the request lists the tags for the resource with
* the specified ARN.</p>
*/
inline ListTagsForResourceRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>The token for the next set of results, or null if there are no additional
* results for this request, where the request lists the tags for the resource with
* the specified ARN.</p>
*/
inline ListTagsForResourceRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>The token for the next set of results, or null if there are no additional
* results for this request, where the request lists the tags for the resource with
* the specified ARN.</p>
*/
inline ListTagsForResourceRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>The maximum number of results to be returned per request that lists the tags
* for the resource.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of results to be returned per request that lists the tags
* for the resource.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of results to be returned per request that lists the tags
* for the resource.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of results to be returned per request that lists the tags
* for the resource.</p>
*/
inline ListTagsForResourceRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,117 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/Tag.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API ListTagsForResourceResult
{
public:
ListTagsForResourceResult();
ListTagsForResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListTagsForResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of tags associated with the specified resource.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>The list of tags associated with the specified resource.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; }
/**
* <p>The list of tags associated with the specified resource.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); }
/**
* <p>The list of tags associated with the specified resource.</p>
*/
inline ListTagsForResourceResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>The list of tags associated with the specified resource.</p>
*/
inline ListTagsForResourceResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>The list of tags associated with the specified resource.</p>
*/
inline ListTagsForResourceResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; }
/**
* <p>The list of tags associated with the specified resource.</p>
*/
inline ListTagsForResourceResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline ListTagsForResourceResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline ListTagsForResourceResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token to be used by the next request if this request is truncated.</p>
*/
inline ListTagsForResourceResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<Tag> m_tags;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API ListWorkGroupsRequest : public AthenaRequest
{
public:
ListWorkGroupsRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "ListWorkGroups"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListWorkGroupsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListWorkGroupsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListWorkGroupsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
/**
* <p>The maximum number of workgroups to return in this request.</p>
*/
inline int GetMaxResults() const{ return m_maxResults; }
/**
* <p>The maximum number of workgroups to return in this request.</p>
*/
inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
/**
* <p>The maximum number of workgroups to return in this request.</p>
*/
inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
/**
* <p>The maximum number of workgroups to return in this request.</p>
*/
inline ListWorkGroupsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
private:
Aws::String m_nextToken;
bool m_nextTokenHasBeenSet;
int m_maxResults;
bool m_maxResultsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,145 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/WorkGroupSummary.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API ListWorkGroupsResult
{
public:
ListWorkGroupsResult();
ListWorkGroupsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
ListWorkGroupsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The list of workgroups, including their names, descriptions, creation times,
* and states.</p>
*/
inline const Aws::Vector<WorkGroupSummary>& GetWorkGroups() const{ return m_workGroups; }
/**
* <p>The list of workgroups, including their names, descriptions, creation times,
* and states.</p>
*/
inline void SetWorkGroups(const Aws::Vector<WorkGroupSummary>& value) { m_workGroups = value; }
/**
* <p>The list of workgroups, including their names, descriptions, creation times,
* and states.</p>
*/
inline void SetWorkGroups(Aws::Vector<WorkGroupSummary>&& value) { m_workGroups = std::move(value); }
/**
* <p>The list of workgroups, including their names, descriptions, creation times,
* and states.</p>
*/
inline ListWorkGroupsResult& WithWorkGroups(const Aws::Vector<WorkGroupSummary>& value) { SetWorkGroups(value); return *this;}
/**
* <p>The list of workgroups, including their names, descriptions, creation times,
* and states.</p>
*/
inline ListWorkGroupsResult& WithWorkGroups(Aws::Vector<WorkGroupSummary>&& value) { SetWorkGroups(std::move(value)); return *this;}
/**
* <p>The list of workgroups, including their names, descriptions, creation times,
* and states.</p>
*/
inline ListWorkGroupsResult& AddWorkGroups(const WorkGroupSummary& value) { m_workGroups.push_back(value); return *this; }
/**
* <p>The list of workgroups, including their names, descriptions, creation times,
* and states.</p>
*/
inline ListWorkGroupsResult& AddWorkGroups(WorkGroupSummary&& value) { m_workGroups.push_back(std::move(value)); return *this; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline const Aws::String& GetNextToken() const{ return m_nextToken; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const Aws::String& value) { m_nextToken = value; }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(Aws::String&& value) { m_nextToken = std::move(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline void SetNextToken(const char* value) { m_nextToken.assign(value); }
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListWorkGroupsResult& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListWorkGroupsResult& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
/**
* <p>A token generated by the Athena service that specifies where to continue
* pagination if a previous request was truncated. To obtain the next set of pages,
* pass in the <code>NextToken</code> from the response object of the previous page
* call.</p>
*/
inline ListWorkGroupsResult& WithNextToken(const char* value) { SetNextToken(value); return *this;}
private:
Aws::Vector<WorkGroupSummary> m_workGroups;
Aws::String m_nextToken;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,309 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>A query, where <code>QueryString</code> is the list of SQL query statements
* that comprise the query.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/NamedQuery">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API NamedQuery
{
public:
NamedQuery();
NamedQuery(Aws::Utils::Json::JsonView jsonValue);
NamedQuery& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The query name.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The query name.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The query name.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The query name.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The query name.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The query name.</p>
*/
inline NamedQuery& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The query name.</p>
*/
inline NamedQuery& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The query name.</p>
*/
inline NamedQuery& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The query description.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>The query description.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>The query description.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>The query description.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>The query description.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>The query description.</p>
*/
inline NamedQuery& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>The query description.</p>
*/
inline NamedQuery& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>The query description.</p>
*/
inline NamedQuery& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The database to which the query belongs.</p>
*/
inline const Aws::String& GetDatabase() const{ return m_database; }
/**
* <p>The database to which the query belongs.</p>
*/
inline bool DatabaseHasBeenSet() const { return m_databaseHasBeenSet; }
/**
* <p>The database to which the query belongs.</p>
*/
inline void SetDatabase(const Aws::String& value) { m_databaseHasBeenSet = true; m_database = value; }
/**
* <p>The database to which the query belongs.</p>
*/
inline void SetDatabase(Aws::String&& value) { m_databaseHasBeenSet = true; m_database = std::move(value); }
/**
* <p>The database to which the query belongs.</p>
*/
inline void SetDatabase(const char* value) { m_databaseHasBeenSet = true; m_database.assign(value); }
/**
* <p>The database to which the query belongs.</p>
*/
inline NamedQuery& WithDatabase(const Aws::String& value) { SetDatabase(value); return *this;}
/**
* <p>The database to which the query belongs.</p>
*/
inline NamedQuery& WithDatabase(Aws::String&& value) { SetDatabase(std::move(value)); return *this;}
/**
* <p>The database to which the query belongs.</p>
*/
inline NamedQuery& WithDatabase(const char* value) { SetDatabase(value); return *this;}
/**
* <p>The SQL query statements that comprise the query.</p>
*/
inline const Aws::String& GetQueryString() const{ return m_queryString; }
/**
* <p>The SQL query statements that comprise the query.</p>
*/
inline bool QueryStringHasBeenSet() const { return m_queryStringHasBeenSet; }
/**
* <p>The SQL query statements that comprise the query.</p>
*/
inline void SetQueryString(const Aws::String& value) { m_queryStringHasBeenSet = true; m_queryString = value; }
/**
* <p>The SQL query statements that comprise the query.</p>
*/
inline void SetQueryString(Aws::String&& value) { m_queryStringHasBeenSet = true; m_queryString = std::move(value); }
/**
* <p>The SQL query statements that comprise the query.</p>
*/
inline void SetQueryString(const char* value) { m_queryStringHasBeenSet = true; m_queryString.assign(value); }
/**
* <p>The SQL query statements that comprise the query.</p>
*/
inline NamedQuery& WithQueryString(const Aws::String& value) { SetQueryString(value); return *this;}
/**
* <p>The SQL query statements that comprise the query.</p>
*/
inline NamedQuery& WithQueryString(Aws::String&& value) { SetQueryString(std::move(value)); return *this;}
/**
* <p>The SQL query statements that comprise the query.</p>
*/
inline NamedQuery& WithQueryString(const char* value) { SetQueryString(value); return *this;}
/**
* <p>The unique identifier of the query.</p>
*/
inline const Aws::String& GetNamedQueryId() const{ return m_namedQueryId; }
/**
* <p>The unique identifier of the query.</p>
*/
inline bool NamedQueryIdHasBeenSet() const { return m_namedQueryIdHasBeenSet; }
/**
* <p>The unique identifier of the query.</p>
*/
inline void SetNamedQueryId(const Aws::String& value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId = value; }
/**
* <p>The unique identifier of the query.</p>
*/
inline void SetNamedQueryId(Aws::String&& value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId = std::move(value); }
/**
* <p>The unique identifier of the query.</p>
*/
inline void SetNamedQueryId(const char* value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId.assign(value); }
/**
* <p>The unique identifier of the query.</p>
*/
inline NamedQuery& WithNamedQueryId(const Aws::String& value) { SetNamedQueryId(value); return *this;}
/**
* <p>The unique identifier of the query.</p>
*/
inline NamedQuery& WithNamedQueryId(Aws::String&& value) { SetNamedQueryId(std::move(value)); return *this;}
/**
* <p>The unique identifier of the query.</p>
*/
inline NamedQuery& WithNamedQueryId(const char* value) { SetNamedQueryId(value); return *this;}
/**
* <p>The name of the workgroup that contains the named query.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The name of the workgroup that contains the named query.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The name of the workgroup that contains the named query.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The name of the workgroup that contains the named query.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The name of the workgroup that contains the named query.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The name of the workgroup that contains the named query.</p>
*/
inline NamedQuery& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The name of the workgroup that contains the named query.</p>
*/
inline NamedQuery& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The name of the workgroup that contains the named query.</p>
*/
inline NamedQuery& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::String m_database;
bool m_databaseHasBeenSet;
Aws::String m_queryString;
bool m_queryStringHasBeenSet;
Aws::String m_namedQueryId;
bool m_namedQueryIdHasBeenSet;
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,412 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/StatementType.h>
#include <aws/athena/model/ResultConfiguration.h>
#include <aws/athena/model/QueryExecutionContext.h>
#include <aws/athena/model/QueryExecutionStatus.h>
#include <aws/athena/model/QueryExecutionStatistics.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Information about a single instance of a query execution.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryExecution">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API QueryExecution
{
public:
QueryExecution();
QueryExecution(Aws::Utils::Json::JsonView jsonValue);
QueryExecution& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The unique identifier for each query execution.</p>
*/
inline const Aws::String& GetQueryExecutionId() const{ return m_queryExecutionId; }
/**
* <p>The unique identifier for each query execution.</p>
*/
inline bool QueryExecutionIdHasBeenSet() const { return m_queryExecutionIdHasBeenSet; }
/**
* <p>The unique identifier for each query execution.</p>
*/
inline void SetQueryExecutionId(const Aws::String& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = value; }
/**
* <p>The unique identifier for each query execution.</p>
*/
inline void SetQueryExecutionId(Aws::String&& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = std::move(value); }
/**
* <p>The unique identifier for each query execution.</p>
*/
inline void SetQueryExecutionId(const char* value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId.assign(value); }
/**
* <p>The unique identifier for each query execution.</p>
*/
inline QueryExecution& WithQueryExecutionId(const Aws::String& value) { SetQueryExecutionId(value); return *this;}
/**
* <p>The unique identifier for each query execution.</p>
*/
inline QueryExecution& WithQueryExecutionId(Aws::String&& value) { SetQueryExecutionId(std::move(value)); return *this;}
/**
* <p>The unique identifier for each query execution.</p>
*/
inline QueryExecution& WithQueryExecutionId(const char* value) { SetQueryExecutionId(value); return *this;}
/**
* <p>The SQL query statements which the query execution ran.</p>
*/
inline const Aws::String& GetQuery() const{ return m_query; }
/**
* <p>The SQL query statements which the query execution ran.</p>
*/
inline bool QueryHasBeenSet() const { return m_queryHasBeenSet; }
/**
* <p>The SQL query statements which the query execution ran.</p>
*/
inline void SetQuery(const Aws::String& value) { m_queryHasBeenSet = true; m_query = value; }
/**
* <p>The SQL query statements which the query execution ran.</p>
*/
inline void SetQuery(Aws::String&& value) { m_queryHasBeenSet = true; m_query = std::move(value); }
/**
* <p>The SQL query statements which the query execution ran.</p>
*/
inline void SetQuery(const char* value) { m_queryHasBeenSet = true; m_query.assign(value); }
/**
* <p>The SQL query statements which the query execution ran.</p>
*/
inline QueryExecution& WithQuery(const Aws::String& value) { SetQuery(value); return *this;}
/**
* <p>The SQL query statements which the query execution ran.</p>
*/
inline QueryExecution& WithQuery(Aws::String&& value) { SetQuery(std::move(value)); return *this;}
/**
* <p>The SQL query statements which the query execution ran.</p>
*/
inline QueryExecution& WithQuery(const char* value) { SetQuery(value); return *this;}
/**
* <p>The type of query statement that was run. <code>DDL</code> indicates DDL
* query statements. <code>DML</code> indicates DML (Data Manipulation Language)
* query statements, such as <code>CREATE TABLE AS SELECT</code>.
* <code>UTILITY</code> indicates query statements other than DDL and DML, such as
* <code>SHOW CREATE TABLE</code>, or <code>DESCRIBE &lt;table&gt;</code>.</p>
*/
inline const StatementType& GetStatementType() const{ return m_statementType; }
/**
* <p>The type of query statement that was run. <code>DDL</code> indicates DDL
* query statements. <code>DML</code> indicates DML (Data Manipulation Language)
* query statements, such as <code>CREATE TABLE AS SELECT</code>.
* <code>UTILITY</code> indicates query statements other than DDL and DML, such as
* <code>SHOW CREATE TABLE</code>, or <code>DESCRIBE &lt;table&gt;</code>.</p>
*/
inline bool StatementTypeHasBeenSet() const { return m_statementTypeHasBeenSet; }
/**
* <p>The type of query statement that was run. <code>DDL</code> indicates DDL
* query statements. <code>DML</code> indicates DML (Data Manipulation Language)
* query statements, such as <code>CREATE TABLE AS SELECT</code>.
* <code>UTILITY</code> indicates query statements other than DDL and DML, such as
* <code>SHOW CREATE TABLE</code>, or <code>DESCRIBE &lt;table&gt;</code>.</p>
*/
inline void SetStatementType(const StatementType& value) { m_statementTypeHasBeenSet = true; m_statementType = value; }
/**
* <p>The type of query statement that was run. <code>DDL</code> indicates DDL
* query statements. <code>DML</code> indicates DML (Data Manipulation Language)
* query statements, such as <code>CREATE TABLE AS SELECT</code>.
* <code>UTILITY</code> indicates query statements other than DDL and DML, such as
* <code>SHOW CREATE TABLE</code>, or <code>DESCRIBE &lt;table&gt;</code>.</p>
*/
inline void SetStatementType(StatementType&& value) { m_statementTypeHasBeenSet = true; m_statementType = std::move(value); }
/**
* <p>The type of query statement that was run. <code>DDL</code> indicates DDL
* query statements. <code>DML</code> indicates DML (Data Manipulation Language)
* query statements, such as <code>CREATE TABLE AS SELECT</code>.
* <code>UTILITY</code> indicates query statements other than DDL and DML, such as
* <code>SHOW CREATE TABLE</code>, or <code>DESCRIBE &lt;table&gt;</code>.</p>
*/
inline QueryExecution& WithStatementType(const StatementType& value) { SetStatementType(value); return *this;}
/**
* <p>The type of query statement that was run. <code>DDL</code> indicates DDL
* query statements. <code>DML</code> indicates DML (Data Manipulation Language)
* query statements, such as <code>CREATE TABLE AS SELECT</code>.
* <code>UTILITY</code> indicates query statements other than DDL and DML, such as
* <code>SHOW CREATE TABLE</code>, or <code>DESCRIBE &lt;table&gt;</code>.</p>
*/
inline QueryExecution& WithStatementType(StatementType&& value) { SetStatementType(std::move(value)); return *this;}
/**
* <p>The location in Amazon S3 where query results were stored and the encryption
* option, if any, used for query results. These are known as "client-side
* settings". If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup.</p>
*/
inline const ResultConfiguration& GetResultConfiguration() const{ return m_resultConfiguration; }
/**
* <p>The location in Amazon S3 where query results were stored and the encryption
* option, if any, used for query results. These are known as "client-side
* settings". If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup.</p>
*/
inline bool ResultConfigurationHasBeenSet() const { return m_resultConfigurationHasBeenSet; }
/**
* <p>The location in Amazon S3 where query results were stored and the encryption
* option, if any, used for query results. These are known as "client-side
* settings". If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup.</p>
*/
inline void SetResultConfiguration(const ResultConfiguration& value) { m_resultConfigurationHasBeenSet = true; m_resultConfiguration = value; }
/**
* <p>The location in Amazon S3 where query results were stored and the encryption
* option, if any, used for query results. These are known as "client-side
* settings". If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup.</p>
*/
inline void SetResultConfiguration(ResultConfiguration&& value) { m_resultConfigurationHasBeenSet = true; m_resultConfiguration = std::move(value); }
/**
* <p>The location in Amazon S3 where query results were stored and the encryption
* option, if any, used for query results. These are known as "client-side
* settings". If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup.</p>
*/
inline QueryExecution& WithResultConfiguration(const ResultConfiguration& value) { SetResultConfiguration(value); return *this;}
/**
* <p>The location in Amazon S3 where query results were stored and the encryption
* option, if any, used for query results. These are known as "client-side
* settings". If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup.</p>
*/
inline QueryExecution& WithResultConfiguration(ResultConfiguration&& value) { SetResultConfiguration(std::move(value)); return *this;}
/**
* <p>The database in which the query execution occurred.</p>
*/
inline const QueryExecutionContext& GetQueryExecutionContext() const{ return m_queryExecutionContext; }
/**
* <p>The database in which the query execution occurred.</p>
*/
inline bool QueryExecutionContextHasBeenSet() const { return m_queryExecutionContextHasBeenSet; }
/**
* <p>The database in which the query execution occurred.</p>
*/
inline void SetQueryExecutionContext(const QueryExecutionContext& value) { m_queryExecutionContextHasBeenSet = true; m_queryExecutionContext = value; }
/**
* <p>The database in which the query execution occurred.</p>
*/
inline void SetQueryExecutionContext(QueryExecutionContext&& value) { m_queryExecutionContextHasBeenSet = true; m_queryExecutionContext = std::move(value); }
/**
* <p>The database in which the query execution occurred.</p>
*/
inline QueryExecution& WithQueryExecutionContext(const QueryExecutionContext& value) { SetQueryExecutionContext(value); return *this;}
/**
* <p>The database in which the query execution occurred.</p>
*/
inline QueryExecution& WithQueryExecutionContext(QueryExecutionContext&& value) { SetQueryExecutionContext(std::move(value)); return *this;}
/**
* <p>The completion date, current state, submission time, and state change reason
* (if applicable) for the query execution.</p>
*/
inline const QueryExecutionStatus& GetStatus() const{ return m_status; }
/**
* <p>The completion date, current state, submission time, and state change reason
* (if applicable) for the query execution.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The completion date, current state, submission time, and state change reason
* (if applicable) for the query execution.</p>
*/
inline void SetStatus(const QueryExecutionStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The completion date, current state, submission time, and state change reason
* (if applicable) for the query execution.</p>
*/
inline void SetStatus(QueryExecutionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The completion date, current state, submission time, and state change reason
* (if applicable) for the query execution.</p>
*/
inline QueryExecution& WithStatus(const QueryExecutionStatus& value) { SetStatus(value); return *this;}
/**
* <p>The completion date, current state, submission time, and state change reason
* (if applicable) for the query execution.</p>
*/
inline QueryExecution& WithStatus(QueryExecutionStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>Query execution statistics, such as the amount of data scanned, the amount of
* time that the query took to process, and the type of statement that was run.</p>
*/
inline const QueryExecutionStatistics& GetStatistics() const{ return m_statistics; }
/**
* <p>Query execution statistics, such as the amount of data scanned, the amount of
* time that the query took to process, and the type of statement that was run.</p>
*/
inline bool StatisticsHasBeenSet() const { return m_statisticsHasBeenSet; }
/**
* <p>Query execution statistics, such as the amount of data scanned, the amount of
* time that the query took to process, and the type of statement that was run.</p>
*/
inline void SetStatistics(const QueryExecutionStatistics& value) { m_statisticsHasBeenSet = true; m_statistics = value; }
/**
* <p>Query execution statistics, such as the amount of data scanned, the amount of
* time that the query took to process, and the type of statement that was run.</p>
*/
inline void SetStatistics(QueryExecutionStatistics&& value) { m_statisticsHasBeenSet = true; m_statistics = std::move(value); }
/**
* <p>Query execution statistics, such as the amount of data scanned, the amount of
* time that the query took to process, and the type of statement that was run.</p>
*/
inline QueryExecution& WithStatistics(const QueryExecutionStatistics& value) { SetStatistics(value); return *this;}
/**
* <p>Query execution statistics, such as the amount of data scanned, the amount of
* time that the query took to process, and the type of statement that was run.</p>
*/
inline QueryExecution& WithStatistics(QueryExecutionStatistics&& value) { SetStatistics(std::move(value)); return *this;}
/**
* <p>The name of the workgroup in which the query ran.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The name of the workgroup in which the query ran.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The name of the workgroup in which the query ran.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The name of the workgroup in which the query ran.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The name of the workgroup in which the query ran.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The name of the workgroup in which the query ran.</p>
*/
inline QueryExecution& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The name of the workgroup in which the query ran.</p>
*/
inline QueryExecution& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The name of the workgroup in which the query ran.</p>
*/
inline QueryExecution& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
private:
Aws::String m_queryExecutionId;
bool m_queryExecutionIdHasBeenSet;
Aws::String m_query;
bool m_queryHasBeenSet;
StatementType m_statementType;
bool m_statementTypeHasBeenSet;
ResultConfiguration m_resultConfiguration;
bool m_resultConfigurationHasBeenSet;
QueryExecutionContext m_queryExecutionContext;
bool m_queryExecutionContextHasBeenSet;
QueryExecutionStatus m_status;
bool m_statusHasBeenSet;
QueryExecutionStatistics m_statistics;
bool m_statisticsHasBeenSet;
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The database and data catalog context in which the query execution
* occurs.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryExecutionContext">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API QueryExecutionContext
{
public:
QueryExecutionContext();
QueryExecutionContext(Aws::Utils::Json::JsonView jsonValue);
QueryExecutionContext& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the database used in the query execution.</p>
*/
inline const Aws::String& GetDatabase() const{ return m_database; }
/**
* <p>The name of the database used in the query execution.</p>
*/
inline bool DatabaseHasBeenSet() const { return m_databaseHasBeenSet; }
/**
* <p>The name of the database used in the query execution.</p>
*/
inline void SetDatabase(const Aws::String& value) { m_databaseHasBeenSet = true; m_database = value; }
/**
* <p>The name of the database used in the query execution.</p>
*/
inline void SetDatabase(Aws::String&& value) { m_databaseHasBeenSet = true; m_database = std::move(value); }
/**
* <p>The name of the database used in the query execution.</p>
*/
inline void SetDatabase(const char* value) { m_databaseHasBeenSet = true; m_database.assign(value); }
/**
* <p>The name of the database used in the query execution.</p>
*/
inline QueryExecutionContext& WithDatabase(const Aws::String& value) { SetDatabase(value); return *this;}
/**
* <p>The name of the database used in the query execution.</p>
*/
inline QueryExecutionContext& WithDatabase(Aws::String&& value) { SetDatabase(std::move(value)); return *this;}
/**
* <p>The name of the database used in the query execution.</p>
*/
inline QueryExecutionContext& WithDatabase(const char* value) { SetDatabase(value); return *this;}
/**
* <p>The name of the data catalog used in the query execution.</p>
*/
inline const Aws::String& GetCatalog() const{ return m_catalog; }
/**
* <p>The name of the data catalog used in the query execution.</p>
*/
inline bool CatalogHasBeenSet() const { return m_catalogHasBeenSet; }
/**
* <p>The name of the data catalog used in the query execution.</p>
*/
inline void SetCatalog(const Aws::String& value) { m_catalogHasBeenSet = true; m_catalog = value; }
/**
* <p>The name of the data catalog used in the query execution.</p>
*/
inline void SetCatalog(Aws::String&& value) { m_catalogHasBeenSet = true; m_catalog = std::move(value); }
/**
* <p>The name of the data catalog used in the query execution.</p>
*/
inline void SetCatalog(const char* value) { m_catalogHasBeenSet = true; m_catalog.assign(value); }
/**
* <p>The name of the data catalog used in the query execution.</p>
*/
inline QueryExecutionContext& WithCatalog(const Aws::String& value) { SetCatalog(value); return *this;}
/**
* <p>The name of the data catalog used in the query execution.</p>
*/
inline QueryExecutionContext& WithCatalog(Aws::String&& value) { SetCatalog(std::move(value)); return *this;}
/**
* <p>The name of the data catalog used in the query execution.</p>
*/
inline QueryExecutionContext& WithCatalog(const char* value) { SetCatalog(value); return *this;}
private:
Aws::String m_database;
bool m_databaseHasBeenSet;
Aws::String m_catalog;
bool m_catalogHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,34 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
enum class QueryExecutionState
{
NOT_SET,
QUEUED,
RUNNING,
SUCCEEDED,
FAILED,
CANCELLED
};
namespace QueryExecutionStateMapper
{
AWS_ATHENA_API QueryExecutionState GetQueryExecutionStateForName(const Aws::String& name);
AWS_ATHENA_API Aws::String GetNameForQueryExecutionState(QueryExecutionState value);
} // namespace QueryExecutionStateMapper
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,322 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The amount of data scanned during the query execution and the amount of time
* that it took to execute, and the type of statement that was run.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryExecutionStatistics">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API QueryExecutionStatistics
{
public:
QueryExecutionStatistics();
QueryExecutionStatistics(Aws::Utils::Json::JsonView jsonValue);
QueryExecutionStatistics& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The number of milliseconds that the query took to execute.</p>
*/
inline long long GetEngineExecutionTimeInMillis() const{ return m_engineExecutionTimeInMillis; }
/**
* <p>The number of milliseconds that the query took to execute.</p>
*/
inline bool EngineExecutionTimeInMillisHasBeenSet() const { return m_engineExecutionTimeInMillisHasBeenSet; }
/**
* <p>The number of milliseconds that the query took to execute.</p>
*/
inline void SetEngineExecutionTimeInMillis(long long value) { m_engineExecutionTimeInMillisHasBeenSet = true; m_engineExecutionTimeInMillis = value; }
/**
* <p>The number of milliseconds that the query took to execute.</p>
*/
inline QueryExecutionStatistics& WithEngineExecutionTimeInMillis(long long value) { SetEngineExecutionTimeInMillis(value); return *this;}
/**
* <p>The number of bytes in the data that was queried.</p>
*/
inline long long GetDataScannedInBytes() const{ return m_dataScannedInBytes; }
/**
* <p>The number of bytes in the data that was queried.</p>
*/
inline bool DataScannedInBytesHasBeenSet() const { return m_dataScannedInBytesHasBeenSet; }
/**
* <p>The number of bytes in the data that was queried.</p>
*/
inline void SetDataScannedInBytes(long long value) { m_dataScannedInBytesHasBeenSet = true; m_dataScannedInBytes = value; }
/**
* <p>The number of bytes in the data that was queried.</p>
*/
inline QueryExecutionStatistics& WithDataScannedInBytes(long long value) { SetDataScannedInBytes(value); return *this;}
/**
* <p>The location and file name of a data manifest file. The manifest file is
* saved to the Athena query results location in Amazon S3. The manifest file
* tracks files that the query wrote to Amazon S3. If the query fails, the manifest
* file also tracks files that the query intended to write. The manifest is useful
* for identifying orphaned files resulting from a failed query. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with
* Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User
* Guide</i>.</p>
*/
inline const Aws::String& GetDataManifestLocation() const{ return m_dataManifestLocation; }
/**
* <p>The location and file name of a data manifest file. The manifest file is
* saved to the Athena query results location in Amazon S3. The manifest file
* tracks files that the query wrote to Amazon S3. If the query fails, the manifest
* file also tracks files that the query intended to write. The manifest is useful
* for identifying orphaned files resulting from a failed query. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with
* Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User
* Guide</i>.</p>
*/
inline bool DataManifestLocationHasBeenSet() const { return m_dataManifestLocationHasBeenSet; }
/**
* <p>The location and file name of a data manifest file. The manifest file is
* saved to the Athena query results location in Amazon S3. The manifest file
* tracks files that the query wrote to Amazon S3. If the query fails, the manifest
* file also tracks files that the query intended to write. The manifest is useful
* for identifying orphaned files resulting from a failed query. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with
* Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User
* Guide</i>.</p>
*/
inline void SetDataManifestLocation(const Aws::String& value) { m_dataManifestLocationHasBeenSet = true; m_dataManifestLocation = value; }
/**
* <p>The location and file name of a data manifest file. The manifest file is
* saved to the Athena query results location in Amazon S3. The manifest file
* tracks files that the query wrote to Amazon S3. If the query fails, the manifest
* file also tracks files that the query intended to write. The manifest is useful
* for identifying orphaned files resulting from a failed query. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with
* Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User
* Guide</i>.</p>
*/
inline void SetDataManifestLocation(Aws::String&& value) { m_dataManifestLocationHasBeenSet = true; m_dataManifestLocation = std::move(value); }
/**
* <p>The location and file name of a data manifest file. The manifest file is
* saved to the Athena query results location in Amazon S3. The manifest file
* tracks files that the query wrote to Amazon S3. If the query fails, the manifest
* file also tracks files that the query intended to write. The manifest is useful
* for identifying orphaned files resulting from a failed query. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with
* Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User
* Guide</i>.</p>
*/
inline void SetDataManifestLocation(const char* value) { m_dataManifestLocationHasBeenSet = true; m_dataManifestLocation.assign(value); }
/**
* <p>The location and file name of a data manifest file. The manifest file is
* saved to the Athena query results location in Amazon S3. The manifest file
* tracks files that the query wrote to Amazon S3. If the query fails, the manifest
* file also tracks files that the query intended to write. The manifest is useful
* for identifying orphaned files resulting from a failed query. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with
* Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User
* Guide</i>.</p>
*/
inline QueryExecutionStatistics& WithDataManifestLocation(const Aws::String& value) { SetDataManifestLocation(value); return *this;}
/**
* <p>The location and file name of a data manifest file. The manifest file is
* saved to the Athena query results location in Amazon S3. The manifest file
* tracks files that the query wrote to Amazon S3. If the query fails, the manifest
* file also tracks files that the query intended to write. The manifest is useful
* for identifying orphaned files resulting from a failed query. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with
* Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User
* Guide</i>.</p>
*/
inline QueryExecutionStatistics& WithDataManifestLocation(Aws::String&& value) { SetDataManifestLocation(std::move(value)); return *this;}
/**
* <p>The location and file name of a data manifest file. The manifest file is
* saved to the Athena query results location in Amazon S3. The manifest file
* tracks files that the query wrote to Amazon S3. If the query fails, the manifest
* file also tracks files that the query intended to write. The manifest is useful
* for identifying orphaned files resulting from a failed query. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Working with
* Query Results, Output Files, and Query History</a> in the <i>Amazon Athena User
* Guide</i>.</p>
*/
inline QueryExecutionStatistics& WithDataManifestLocation(const char* value) { SetDataManifestLocation(value); return *this;}
/**
* <p>The number of milliseconds that Athena took to run the query.</p>
*/
inline long long GetTotalExecutionTimeInMillis() const{ return m_totalExecutionTimeInMillis; }
/**
* <p>The number of milliseconds that Athena took to run the query.</p>
*/
inline bool TotalExecutionTimeInMillisHasBeenSet() const { return m_totalExecutionTimeInMillisHasBeenSet; }
/**
* <p>The number of milliseconds that Athena took to run the query.</p>
*/
inline void SetTotalExecutionTimeInMillis(long long value) { m_totalExecutionTimeInMillisHasBeenSet = true; m_totalExecutionTimeInMillis = value; }
/**
* <p>The number of milliseconds that Athena took to run the query.</p>
*/
inline QueryExecutionStatistics& WithTotalExecutionTimeInMillis(long long value) { SetTotalExecutionTimeInMillis(value); return *this;}
/**
* <p>The number of milliseconds that the query was in your query queue waiting for
* resources. Note that if transient errors occur, Athena might automatically add
* the query back to the queue.</p>
*/
inline long long GetQueryQueueTimeInMillis() const{ return m_queryQueueTimeInMillis; }
/**
* <p>The number of milliseconds that the query was in your query queue waiting for
* resources. Note that if transient errors occur, Athena might automatically add
* the query back to the queue.</p>
*/
inline bool QueryQueueTimeInMillisHasBeenSet() const { return m_queryQueueTimeInMillisHasBeenSet; }
/**
* <p>The number of milliseconds that the query was in your query queue waiting for
* resources. Note that if transient errors occur, Athena might automatically add
* the query back to the queue.</p>
*/
inline void SetQueryQueueTimeInMillis(long long value) { m_queryQueueTimeInMillisHasBeenSet = true; m_queryQueueTimeInMillis = value; }
/**
* <p>The number of milliseconds that the query was in your query queue waiting for
* resources. Note that if transient errors occur, Athena might automatically add
* the query back to the queue.</p>
*/
inline QueryExecutionStatistics& WithQueryQueueTimeInMillis(long long value) { SetQueryQueueTimeInMillis(value); return *this;}
/**
* <p>The number of milliseconds that Athena took to plan the query processing
* flow. This includes the time spent retrieving table partitions from the data
* source. Note that because the query engine performs the query planning, query
* planning time is a subset of engine processing time.</p>
*/
inline long long GetQueryPlanningTimeInMillis() const{ return m_queryPlanningTimeInMillis; }
/**
* <p>The number of milliseconds that Athena took to plan the query processing
* flow. This includes the time spent retrieving table partitions from the data
* source. Note that because the query engine performs the query planning, query
* planning time is a subset of engine processing time.</p>
*/
inline bool QueryPlanningTimeInMillisHasBeenSet() const { return m_queryPlanningTimeInMillisHasBeenSet; }
/**
* <p>The number of milliseconds that Athena took to plan the query processing
* flow. This includes the time spent retrieving table partitions from the data
* source. Note that because the query engine performs the query planning, query
* planning time is a subset of engine processing time.</p>
*/
inline void SetQueryPlanningTimeInMillis(long long value) { m_queryPlanningTimeInMillisHasBeenSet = true; m_queryPlanningTimeInMillis = value; }
/**
* <p>The number of milliseconds that Athena took to plan the query processing
* flow. This includes the time spent retrieving table partitions from the data
* source. Note that because the query engine performs the query planning, query
* planning time is a subset of engine processing time.</p>
*/
inline QueryExecutionStatistics& WithQueryPlanningTimeInMillis(long long value) { SetQueryPlanningTimeInMillis(value); return *this;}
/**
* <p>The number of milliseconds that Athena took to finalize and publish the query
* results after the query engine finished running the query.</p>
*/
inline long long GetServiceProcessingTimeInMillis() const{ return m_serviceProcessingTimeInMillis; }
/**
* <p>The number of milliseconds that Athena took to finalize and publish the query
* results after the query engine finished running the query.</p>
*/
inline bool ServiceProcessingTimeInMillisHasBeenSet() const { return m_serviceProcessingTimeInMillisHasBeenSet; }
/**
* <p>The number of milliseconds that Athena took to finalize and publish the query
* results after the query engine finished running the query.</p>
*/
inline void SetServiceProcessingTimeInMillis(long long value) { m_serviceProcessingTimeInMillisHasBeenSet = true; m_serviceProcessingTimeInMillis = value; }
/**
* <p>The number of milliseconds that Athena took to finalize and publish the query
* results after the query engine finished running the query.</p>
*/
inline QueryExecutionStatistics& WithServiceProcessingTimeInMillis(long long value) { SetServiceProcessingTimeInMillis(value); return *this;}
private:
long long m_engineExecutionTimeInMillis;
bool m_engineExecutionTimeInMillisHasBeenSet;
long long m_dataScannedInBytes;
bool m_dataScannedInBytesHasBeenSet;
Aws::String m_dataManifestLocation;
bool m_dataManifestLocationHasBeenSet;
long long m_totalExecutionTimeInMillis;
bool m_totalExecutionTimeInMillisHasBeenSet;
long long m_queryQueueTimeInMillis;
bool m_queryQueueTimeInMillisHasBeenSet;
long long m_queryPlanningTimeInMillis;
bool m_queryPlanningTimeInMillisHasBeenSet;
long long m_serviceProcessingTimeInMillis;
bool m_serviceProcessingTimeInMillisHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,247 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/QueryExecutionState.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The completion date, current state, submission time, and state change reason
* (if applicable) for the query execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/QueryExecutionStatus">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API QueryExecutionStatus
{
public:
QueryExecutionStatus();
QueryExecutionStatus(Aws::Utils::Json::JsonView jsonValue);
QueryExecutionStatus& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The state of query execution. <code>QUEUED</code> indicates that the query
* has been submitted to the service, and Athena will execute the query as soon as
* resources are available. <code>RUNNING</code> indicates that the query is in
* execution phase. <code>SUCCEEDED</code> indicates that the query completed
* without errors. <code>FAILED</code> indicates that the query experienced an
* error and did not complete processing. <code>CANCELLED</code> indicates that a
* user input interrupted query execution.</p> <p>Athena automatically
* retries your queries in cases of certain transient errors. As a result, you may
* see the query state transition from <code>RUNNING</code> or <code>FAILED</code>
* to <code>QUEUED</code>. </p>
*/
inline const QueryExecutionState& GetState() const{ return m_state; }
/**
* <p>The state of query execution. <code>QUEUED</code> indicates that the query
* has been submitted to the service, and Athena will execute the query as soon as
* resources are available. <code>RUNNING</code> indicates that the query is in
* execution phase. <code>SUCCEEDED</code> indicates that the query completed
* without errors. <code>FAILED</code> indicates that the query experienced an
* error and did not complete processing. <code>CANCELLED</code> indicates that a
* user input interrupted query execution.</p> <p>Athena automatically
* retries your queries in cases of certain transient errors. As a result, you may
* see the query state transition from <code>RUNNING</code> or <code>FAILED</code>
* to <code>QUEUED</code>. </p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The state of query execution. <code>QUEUED</code> indicates that the query
* has been submitted to the service, and Athena will execute the query as soon as
* resources are available. <code>RUNNING</code> indicates that the query is in
* execution phase. <code>SUCCEEDED</code> indicates that the query completed
* without errors. <code>FAILED</code> indicates that the query experienced an
* error and did not complete processing. <code>CANCELLED</code> indicates that a
* user input interrupted query execution.</p> <p>Athena automatically
* retries your queries in cases of certain transient errors. As a result, you may
* see the query state transition from <code>RUNNING</code> or <code>FAILED</code>
* to <code>QUEUED</code>. </p>
*/
inline void SetState(const QueryExecutionState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The state of query execution. <code>QUEUED</code> indicates that the query
* has been submitted to the service, and Athena will execute the query as soon as
* resources are available. <code>RUNNING</code> indicates that the query is in
* execution phase. <code>SUCCEEDED</code> indicates that the query completed
* without errors. <code>FAILED</code> indicates that the query experienced an
* error and did not complete processing. <code>CANCELLED</code> indicates that a
* user input interrupted query execution.</p> <p>Athena automatically
* retries your queries in cases of certain transient errors. As a result, you may
* see the query state transition from <code>RUNNING</code> or <code>FAILED</code>
* to <code>QUEUED</code>. </p>
*/
inline void SetState(QueryExecutionState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The state of query execution. <code>QUEUED</code> indicates that the query
* has been submitted to the service, and Athena will execute the query as soon as
* resources are available. <code>RUNNING</code> indicates that the query is in
* execution phase. <code>SUCCEEDED</code> indicates that the query completed
* without errors. <code>FAILED</code> indicates that the query experienced an
* error and did not complete processing. <code>CANCELLED</code> indicates that a
* user input interrupted query execution.</p> <p>Athena automatically
* retries your queries in cases of certain transient errors. As a result, you may
* see the query state transition from <code>RUNNING</code> or <code>FAILED</code>
* to <code>QUEUED</code>. </p>
*/
inline QueryExecutionStatus& WithState(const QueryExecutionState& value) { SetState(value); return *this;}
/**
* <p>The state of query execution. <code>QUEUED</code> indicates that the query
* has been submitted to the service, and Athena will execute the query as soon as
* resources are available. <code>RUNNING</code> indicates that the query is in
* execution phase. <code>SUCCEEDED</code> indicates that the query completed
* without errors. <code>FAILED</code> indicates that the query experienced an
* error and did not complete processing. <code>CANCELLED</code> indicates that a
* user input interrupted query execution.</p> <p>Athena automatically
* retries your queries in cases of certain transient errors. As a result, you may
* see the query state transition from <code>RUNNING</code> or <code>FAILED</code>
* to <code>QUEUED</code>. </p>
*/
inline QueryExecutionStatus& WithState(QueryExecutionState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>Further detail about the status of the query.</p>
*/
inline const Aws::String& GetStateChangeReason() const{ return m_stateChangeReason; }
/**
* <p>Further detail about the status of the query.</p>
*/
inline bool StateChangeReasonHasBeenSet() const { return m_stateChangeReasonHasBeenSet; }
/**
* <p>Further detail about the status of the query.</p>
*/
inline void SetStateChangeReason(const Aws::String& value) { m_stateChangeReasonHasBeenSet = true; m_stateChangeReason = value; }
/**
* <p>Further detail about the status of the query.</p>
*/
inline void SetStateChangeReason(Aws::String&& value) { m_stateChangeReasonHasBeenSet = true; m_stateChangeReason = std::move(value); }
/**
* <p>Further detail about the status of the query.</p>
*/
inline void SetStateChangeReason(const char* value) { m_stateChangeReasonHasBeenSet = true; m_stateChangeReason.assign(value); }
/**
* <p>Further detail about the status of the query.</p>
*/
inline QueryExecutionStatus& WithStateChangeReason(const Aws::String& value) { SetStateChangeReason(value); return *this;}
/**
* <p>Further detail about the status of the query.</p>
*/
inline QueryExecutionStatus& WithStateChangeReason(Aws::String&& value) { SetStateChangeReason(std::move(value)); return *this;}
/**
* <p>Further detail about the status of the query.</p>
*/
inline QueryExecutionStatus& WithStateChangeReason(const char* value) { SetStateChangeReason(value); return *this;}
/**
* <p>The date and time that the query was submitted.</p>
*/
inline const Aws::Utils::DateTime& GetSubmissionDateTime() const{ return m_submissionDateTime; }
/**
* <p>The date and time that the query was submitted.</p>
*/
inline bool SubmissionDateTimeHasBeenSet() const { return m_submissionDateTimeHasBeenSet; }
/**
* <p>The date and time that the query was submitted.</p>
*/
inline void SetSubmissionDateTime(const Aws::Utils::DateTime& value) { m_submissionDateTimeHasBeenSet = true; m_submissionDateTime = value; }
/**
* <p>The date and time that the query was submitted.</p>
*/
inline void SetSubmissionDateTime(Aws::Utils::DateTime&& value) { m_submissionDateTimeHasBeenSet = true; m_submissionDateTime = std::move(value); }
/**
* <p>The date and time that the query was submitted.</p>
*/
inline QueryExecutionStatus& WithSubmissionDateTime(const Aws::Utils::DateTime& value) { SetSubmissionDateTime(value); return *this;}
/**
* <p>The date and time that the query was submitted.</p>
*/
inline QueryExecutionStatus& WithSubmissionDateTime(Aws::Utils::DateTime&& value) { SetSubmissionDateTime(std::move(value)); return *this;}
/**
* <p>The date and time that the query completed.</p>
*/
inline const Aws::Utils::DateTime& GetCompletionDateTime() const{ return m_completionDateTime; }
/**
* <p>The date and time that the query completed.</p>
*/
inline bool CompletionDateTimeHasBeenSet() const { return m_completionDateTimeHasBeenSet; }
/**
* <p>The date and time that the query completed.</p>
*/
inline void SetCompletionDateTime(const Aws::Utils::DateTime& value) { m_completionDateTimeHasBeenSet = true; m_completionDateTime = value; }
/**
* <p>The date and time that the query completed.</p>
*/
inline void SetCompletionDateTime(Aws::Utils::DateTime&& value) { m_completionDateTimeHasBeenSet = true; m_completionDateTime = std::move(value); }
/**
* <p>The date and time that the query completed.</p>
*/
inline QueryExecutionStatus& WithCompletionDateTime(const Aws::Utils::DateTime& value) { SetCompletionDateTime(value); return *this;}
/**
* <p>The date and time that the query completed.</p>
*/
inline QueryExecutionStatus& WithCompletionDateTime(Aws::Utils::DateTime&& value) { SetCompletionDateTime(std::move(value)); return *this;}
private:
QueryExecutionState m_state;
bool m_stateHasBeenSet;
Aws::String m_stateChangeReason;
bool m_stateChangeReasonHasBeenSet;
Aws::Utils::DateTime m_submissionDateTime;
bool m_submissionDateTimeHasBeenSet;
Aws::Utils::DateTime m_completionDateTime;
bool m_completionDateTimeHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,100 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>A resource, such as a workgroup, was not found.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResourceNotFoundException">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API ResourceNotFoundException
{
public:
ResourceNotFoundException();
ResourceNotFoundException(Aws::Utils::Json::JsonView jsonValue);
ResourceNotFoundException& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline ResourceNotFoundException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline ResourceNotFoundException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline ResourceNotFoundException& WithMessage(const char* value) { SetMessage(value); return *this;}
inline const Aws::String& GetResourceName() const{ return m_resourceName; }
inline bool ResourceNameHasBeenSet() const { return m_resourceNameHasBeenSet; }
inline void SetResourceName(const Aws::String& value) { m_resourceNameHasBeenSet = true; m_resourceName = value; }
inline void SetResourceName(Aws::String&& value) { m_resourceNameHasBeenSet = true; m_resourceName = std::move(value); }
inline void SetResourceName(const char* value) { m_resourceNameHasBeenSet = true; m_resourceName.assign(value); }
inline ResourceNotFoundException& WithResourceName(const Aws::String& value) { SetResourceName(value); return *this;}
inline ResourceNotFoundException& WithResourceName(Aws::String&& value) { SetResourceName(std::move(value)); return *this;}
inline ResourceNotFoundException& WithResourceName(const char* value) { SetResourceName(value); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
Aws::String m_resourceName;
bool m_resourceNameHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,246 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/EncryptionConfiguration.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The location in Amazon S3 where query results are stored and the encryption
* option, if any, used for query results. These are known as "client-side
* settings". If workgroup settings override client-side settings, then the query
* uses the workgroup settings.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultConfiguration">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API ResultConfiguration
{
public:
ResultConfiguration();
ResultConfiguration(Aws::Utils::Json::JsonView jsonValue);
ResultConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. To run the query, you must specify the
* query results location using one of the ways: either for individual queries
* using either this setting (client-side), or in the workgroup, using
* <a>WorkGroupConfiguration</a>. If none of them is set, Athena issues an error
* that no output location is provided. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>. If workgroup settings override client-side settings, then the query
* uses the settings specified for the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline const Aws::String& GetOutputLocation() const{ return m_outputLocation; }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. To run the query, you must specify the
* query results location using one of the ways: either for individual queries
* using either this setting (client-side), or in the workgroup, using
* <a>WorkGroupConfiguration</a>. If none of them is set, Athena issues an error
* that no output location is provided. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>. If workgroup settings override client-side settings, then the query
* uses the settings specified for the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. To run the query, you must specify the
* query results location using one of the ways: either for individual queries
* using either this setting (client-side), or in the workgroup, using
* <a>WorkGroupConfiguration</a>. If none of them is set, Athena issues an error
* that no output location is provided. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>. If workgroup settings override client-side settings, then the query
* uses the settings specified for the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetOutputLocation(const Aws::String& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. To run the query, you must specify the
* query results location using one of the ways: either for individual queries
* using either this setting (client-side), or in the workgroup, using
* <a>WorkGroupConfiguration</a>. If none of them is set, Athena issues an error
* that no output location is provided. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>. If workgroup settings override client-side settings, then the query
* uses the settings specified for the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetOutputLocation(Aws::String&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. To run the query, you must specify the
* query results location using one of the ways: either for individual queries
* using either this setting (client-side), or in the workgroup, using
* <a>WorkGroupConfiguration</a>. If none of them is set, Athena issues an error
* that no output location is provided. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>. If workgroup settings override client-side settings, then the query
* uses the settings specified for the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetOutputLocation(const char* value) { m_outputLocationHasBeenSet = true; m_outputLocation.assign(value); }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. To run the query, you must specify the
* query results location using one of the ways: either for individual queries
* using either this setting (client-side), or in the workgroup, using
* <a>WorkGroupConfiguration</a>. If none of them is set, Athena issues an error
* that no output location is provided. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>. If workgroup settings override client-side settings, then the query
* uses the settings specified for the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline ResultConfiguration& WithOutputLocation(const Aws::String& value) { SetOutputLocation(value); return *this;}
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. To run the query, you must specify the
* query results location using one of the ways: either for individual queries
* using either this setting (client-side), or in the workgroup, using
* <a>WorkGroupConfiguration</a>. If none of them is set, Athena issues an error
* that no output location is provided. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>. If workgroup settings override client-side settings, then the query
* uses the settings specified for the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline ResultConfiguration& WithOutputLocation(Aws::String&& value) { SetOutputLocation(std::move(value)); return *this;}
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. To run the query, you must specify the
* query results location using one of the ways: either for individual queries
* using either this setting (client-side), or in the workgroup, using
* <a>WorkGroupConfiguration</a>. If none of them is set, Athena issues an error
* that no output location is provided. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>. If workgroup settings override client-side settings, then the query
* uses the settings specified for the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline ResultConfiguration& WithOutputLocation(const char* value) { SetOutputLocation(value); return *this;}
/**
* <p>If query results are encrypted in Amazon S3, indicates the encryption option
* used (for example, <code>SSE-KMS</code> or <code>CSE-KMS</code>) and key
* information. This is a client-side setting. If workgroup settings override
* client-side settings, then the query uses the encryption configuration that is
* specified for the workgroup, and also uses the location for storing query
* results specified in the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a> and <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; }
/**
* <p>If query results are encrypted in Amazon S3, indicates the encryption option
* used (for example, <code>SSE-KMS</code> or <code>CSE-KMS</code>) and key
* information. This is a client-side setting. If workgroup settings override
* client-side settings, then the query uses the encryption configuration that is
* specified for the workgroup, and also uses the location for storing query
* results specified in the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a> and <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; }
/**
* <p>If query results are encrypted in Amazon S3, indicates the encryption option
* used (for example, <code>SSE-KMS</code> or <code>CSE-KMS</code>) and key
* information. This is a client-side setting. If workgroup settings override
* client-side settings, then the query uses the encryption configuration that is
* specified for the workgroup, and also uses the location for storing query
* results specified in the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a> and <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; }
/**
* <p>If query results are encrypted in Amazon S3, indicates the encryption option
* used (for example, <code>SSE-KMS</code> or <code>CSE-KMS</code>) and key
* information. This is a client-side setting. If workgroup settings override
* client-side settings, then the query uses the encryption configuration that is
* specified for the workgroup, and also uses the location for storing query
* results specified in the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a> and <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); }
/**
* <p>If query results are encrypted in Amazon S3, indicates the encryption option
* used (for example, <code>SSE-KMS</code> or <code>CSE-KMS</code>) and key
* information. This is a client-side setting. If workgroup settings override
* client-side settings, then the query uses the encryption configuration that is
* specified for the workgroup, and also uses the location for storing query
* results specified in the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a> and <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline ResultConfiguration& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;}
/**
* <p>If query results are encrypted in Amazon S3, indicates the encryption option
* used (for example, <code>SSE-KMS</code> or <code>CSE-KMS</code>) and key
* information. This is a client-side setting. If workgroup settings override
* client-side settings, then the query uses the encryption configuration that is
* specified for the workgroup, and also uses the location for storing query
* results specified in the workgroup. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a> and <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline ResultConfiguration& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;}
private:
Aws::String m_outputLocation;
bool m_outputLocationHasBeenSet;
EncryptionConfiguration m_encryptionConfiguration;
bool m_encryptionConfigurationHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,289 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/EncryptionConfiguration.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The information about the updates in the query results, such as output
* location and encryption configuration for the query results.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultConfigurationUpdates">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API ResultConfigurationUpdates
{
public:
ResultConfigurationUpdates();
ResultConfigurationUpdates(Aws::Utils::Json::JsonView jsonValue);
ResultConfigurationUpdates& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a> If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup. The "workgroup settings override" is specified
* in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline const Aws::String& GetOutputLocation() const{ return m_outputLocation; }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a> If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup. The "workgroup settings override" is specified
* in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline bool OutputLocationHasBeenSet() const { return m_outputLocationHasBeenSet; }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a> If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup. The "workgroup settings override" is specified
* in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetOutputLocation(const Aws::String& value) { m_outputLocationHasBeenSet = true; m_outputLocation = value; }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a> If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup. The "workgroup settings override" is specified
* in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetOutputLocation(Aws::String&& value) { m_outputLocationHasBeenSet = true; m_outputLocation = std::move(value); }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a> If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup. The "workgroup settings override" is specified
* in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetOutputLocation(const char* value) { m_outputLocationHasBeenSet = true; m_outputLocation.assign(value); }
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a> If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup. The "workgroup settings override" is specified
* in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline ResultConfigurationUpdates& WithOutputLocation(const Aws::String& value) { SetOutputLocation(value); return *this;}
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a> If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup. The "workgroup settings override" is specified
* in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline ResultConfigurationUpdates& WithOutputLocation(Aws::String&& value) { SetOutputLocation(std::move(value)); return *this;}
/**
* <p>The location in Amazon S3 where your query results are stored, such as
* <code>s3://path/to/query/bucket/</code>. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a> If workgroup settings override client-side settings, then the query
* uses the location for the query results and the encryption configuration that
* are specified for the workgroup. The "workgroup settings override" is specified
* in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline ResultConfigurationUpdates& WithOutputLocation(const char* value) { SetOutputLocation(value); return *this;}
/**
* <p>If set to "true", indicates that the previously-specified query results
* location (also known as a client-side setting) for queries in this workgroup
* should be ignored and set to null. If set to "false" or not set, and a value is
* present in the OutputLocation in ResultConfigurationUpdates (the client-side
* setting), the OutputLocation in the workgroup's ResultConfiguration will be
* updated with the new value. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool GetRemoveOutputLocation() const{ return m_removeOutputLocation; }
/**
* <p>If set to "true", indicates that the previously-specified query results
* location (also known as a client-side setting) for queries in this workgroup
* should be ignored and set to null. If set to "false" or not set, and a value is
* present in the OutputLocation in ResultConfigurationUpdates (the client-side
* setting), the OutputLocation in the workgroup's ResultConfiguration will be
* updated with the new value. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool RemoveOutputLocationHasBeenSet() const { return m_removeOutputLocationHasBeenSet; }
/**
* <p>If set to "true", indicates that the previously-specified query results
* location (also known as a client-side setting) for queries in this workgroup
* should be ignored and set to null. If set to "false" or not set, and a value is
* present in the OutputLocation in ResultConfigurationUpdates (the client-side
* setting), the OutputLocation in the workgroup's ResultConfiguration will be
* updated with the new value. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline void SetRemoveOutputLocation(bool value) { m_removeOutputLocationHasBeenSet = true; m_removeOutputLocation = value; }
/**
* <p>If set to "true", indicates that the previously-specified query results
* location (also known as a client-side setting) for queries in this workgroup
* should be ignored and set to null. If set to "false" or not set, and a value is
* present in the OutputLocation in ResultConfigurationUpdates (the client-side
* setting), the OutputLocation in the workgroup's ResultConfiguration will be
* updated with the new value. For more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline ResultConfigurationUpdates& WithRemoveOutputLocation(bool value) { SetRemoveOutputLocation(value); return *this;}
/**
* <p>The encryption configuration for the query results.</p>
*/
inline const EncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; }
/**
* <p>The encryption configuration for the query results.</p>
*/
inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; }
/**
* <p>The encryption configuration for the query results.</p>
*/
inline void SetEncryptionConfiguration(const EncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; }
/**
* <p>The encryption configuration for the query results.</p>
*/
inline void SetEncryptionConfiguration(EncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); }
/**
* <p>The encryption configuration for the query results.</p>
*/
inline ResultConfigurationUpdates& WithEncryptionConfiguration(const EncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;}
/**
* <p>The encryption configuration for the query results.</p>
*/
inline ResultConfigurationUpdates& WithEncryptionConfiguration(EncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;}
/**
* <p>If set to "true", indicates that the previously-specified encryption
* configuration (also known as the client-side setting) for queries in this
* workgroup should be ignored and set to null. If set to "false" or not set, and a
* value is present in the EncryptionConfiguration in ResultConfigurationUpdates
* (the client-side setting), the EncryptionConfiguration in the workgroup's
* ResultConfiguration will be updated with the new value. For more information,
* see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool GetRemoveEncryptionConfiguration() const{ return m_removeEncryptionConfiguration; }
/**
* <p>If set to "true", indicates that the previously-specified encryption
* configuration (also known as the client-side setting) for queries in this
* workgroup should be ignored and set to null. If set to "false" or not set, and a
* value is present in the EncryptionConfiguration in ResultConfigurationUpdates
* (the client-side setting), the EncryptionConfiguration in the workgroup's
* ResultConfiguration will be updated with the new value. For more information,
* see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool RemoveEncryptionConfigurationHasBeenSet() const { return m_removeEncryptionConfigurationHasBeenSet; }
/**
* <p>If set to "true", indicates that the previously-specified encryption
* configuration (also known as the client-side setting) for queries in this
* workgroup should be ignored and set to null. If set to "false" or not set, and a
* value is present in the EncryptionConfiguration in ResultConfigurationUpdates
* (the client-side setting), the EncryptionConfiguration in the workgroup's
* ResultConfiguration will be updated with the new value. For more information,
* see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline void SetRemoveEncryptionConfiguration(bool value) { m_removeEncryptionConfigurationHasBeenSet = true; m_removeEncryptionConfiguration = value; }
/**
* <p>If set to "true", indicates that the previously-specified encryption
* configuration (also known as the client-side setting) for queries in this
* workgroup should be ignored and set to null. If set to "false" or not set, and a
* value is present in the EncryptionConfiguration in ResultConfigurationUpdates
* (the client-side setting), the EncryptionConfiguration in the workgroup's
* ResultConfiguration will be updated with the new value. For more information,
* see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline ResultConfigurationUpdates& WithRemoveEncryptionConfiguration(bool value) { SetRemoveEncryptionConfiguration(value); return *this;}
private:
Aws::String m_outputLocation;
bool m_outputLocationHasBeenSet;
bool m_removeOutputLocation;
bool m_removeOutputLocationHasBeenSet;
EncryptionConfiguration m_encryptionConfiguration;
bool m_encryptionConfigurationHasBeenSet;
bool m_removeEncryptionConfiguration;
bool m_removeEncryptionConfigurationHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,133 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/athena/model/ResultSetMetadata.h>
#include <aws/athena/model/Row.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The metadata and rows that comprise a query result set. The metadata
* describes the column structure and data types. To return a
* <code>ResultSet</code> object, use <a>GetQueryResults</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultSet">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API ResultSet
{
public:
ResultSet();
ResultSet(Aws::Utils::Json::JsonView jsonValue);
ResultSet& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The rows in the table.</p>
*/
inline const Aws::Vector<Row>& GetRows() const{ return m_rows; }
/**
* <p>The rows in the table.</p>
*/
inline bool RowsHasBeenSet() const { return m_rowsHasBeenSet; }
/**
* <p>The rows in the table.</p>
*/
inline void SetRows(const Aws::Vector<Row>& value) { m_rowsHasBeenSet = true; m_rows = value; }
/**
* <p>The rows in the table.</p>
*/
inline void SetRows(Aws::Vector<Row>&& value) { m_rowsHasBeenSet = true; m_rows = std::move(value); }
/**
* <p>The rows in the table.</p>
*/
inline ResultSet& WithRows(const Aws::Vector<Row>& value) { SetRows(value); return *this;}
/**
* <p>The rows in the table.</p>
*/
inline ResultSet& WithRows(Aws::Vector<Row>&& value) { SetRows(std::move(value)); return *this;}
/**
* <p>The rows in the table.</p>
*/
inline ResultSet& AddRows(const Row& value) { m_rowsHasBeenSet = true; m_rows.push_back(value); return *this; }
/**
* <p>The rows in the table.</p>
*/
inline ResultSet& AddRows(Row&& value) { m_rowsHasBeenSet = true; m_rows.push_back(std::move(value)); return *this; }
/**
* <p>The metadata that describes the column structure and data types of a table of
* query results.</p>
*/
inline const ResultSetMetadata& GetResultSetMetadata() const{ return m_resultSetMetadata; }
/**
* <p>The metadata that describes the column structure and data types of a table of
* query results.</p>
*/
inline bool ResultSetMetadataHasBeenSet() const { return m_resultSetMetadataHasBeenSet; }
/**
* <p>The metadata that describes the column structure and data types of a table of
* query results.</p>
*/
inline void SetResultSetMetadata(const ResultSetMetadata& value) { m_resultSetMetadataHasBeenSet = true; m_resultSetMetadata = value; }
/**
* <p>The metadata that describes the column structure and data types of a table of
* query results.</p>
*/
inline void SetResultSetMetadata(ResultSetMetadata&& value) { m_resultSetMetadataHasBeenSet = true; m_resultSetMetadata = std::move(value); }
/**
* <p>The metadata that describes the column structure and data types of a table of
* query results.</p>
*/
inline ResultSet& WithResultSetMetadata(const ResultSetMetadata& value) { SetResultSetMetadata(value); return *this;}
/**
* <p>The metadata that describes the column structure and data types of a table of
* query results.</p>
*/
inline ResultSet& WithResultSetMetadata(ResultSetMetadata&& value) { SetResultSetMetadata(std::move(value)); return *this;}
private:
Aws::Vector<Row> m_rows;
bool m_rowsHasBeenSet;
ResultSetMetadata m_resultSetMetadata;
bool m_resultSetMetadataHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,91 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/athena/model/ColumnInfo.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The metadata that describes the column structure and data types of a table of
* query results. To return a <code>ResultSetMetadata</code> object, use
* <a>GetQueryResults</a>.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ResultSetMetadata">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API ResultSetMetadata
{
public:
ResultSetMetadata();
ResultSetMetadata(Aws::Utils::Json::JsonView jsonValue);
ResultSetMetadata& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>Information about the columns returned in a query result metadata.</p>
*/
inline const Aws::Vector<ColumnInfo>& GetColumnInfo() const{ return m_columnInfo; }
/**
* <p>Information about the columns returned in a query result metadata.</p>
*/
inline bool ColumnInfoHasBeenSet() const { return m_columnInfoHasBeenSet; }
/**
* <p>Information about the columns returned in a query result metadata.</p>
*/
inline void SetColumnInfo(const Aws::Vector<ColumnInfo>& value) { m_columnInfoHasBeenSet = true; m_columnInfo = value; }
/**
* <p>Information about the columns returned in a query result metadata.</p>
*/
inline void SetColumnInfo(Aws::Vector<ColumnInfo>&& value) { m_columnInfoHasBeenSet = true; m_columnInfo = std::move(value); }
/**
* <p>Information about the columns returned in a query result metadata.</p>
*/
inline ResultSetMetadata& WithColumnInfo(const Aws::Vector<ColumnInfo>& value) { SetColumnInfo(value); return *this;}
/**
* <p>Information about the columns returned in a query result metadata.</p>
*/
inline ResultSetMetadata& WithColumnInfo(Aws::Vector<ColumnInfo>&& value) { SetColumnInfo(std::move(value)); return *this;}
/**
* <p>Information about the columns returned in a query result metadata.</p>
*/
inline ResultSetMetadata& AddColumnInfo(const ColumnInfo& value) { m_columnInfoHasBeenSet = true; m_columnInfo.push_back(value); return *this; }
/**
* <p>Information about the columns returned in a query result metadata.</p>
*/
inline ResultSetMetadata& AddColumnInfo(ColumnInfo&& value) { m_columnInfoHasBeenSet = true; m_columnInfo.push_back(std::move(value)); return *this; }
private:
Aws::Vector<ColumnInfo> m_columnInfo;
bool m_columnInfoHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,89 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/athena/model/Datum.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The rows that comprise a query result table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/Row">AWS API
* Reference</a></p>
*/
class AWS_ATHENA_API Row
{
public:
Row();
Row(Aws::Utils::Json::JsonView jsonValue);
Row& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The data that populates a row in a query result table.</p>
*/
inline const Aws::Vector<Datum>& GetData() const{ return m_data; }
/**
* <p>The data that populates a row in a query result table.</p>
*/
inline bool DataHasBeenSet() const { return m_dataHasBeenSet; }
/**
* <p>The data that populates a row in a query result table.</p>
*/
inline void SetData(const Aws::Vector<Datum>& value) { m_dataHasBeenSet = true; m_data = value; }
/**
* <p>The data that populates a row in a query result table.</p>
*/
inline void SetData(Aws::Vector<Datum>&& value) { m_dataHasBeenSet = true; m_data = std::move(value); }
/**
* <p>The data that populates a row in a query result table.</p>
*/
inline Row& WithData(const Aws::Vector<Datum>& value) { SetData(value); return *this;}
/**
* <p>The data that populates a row in a query result table.</p>
*/
inline Row& WithData(Aws::Vector<Datum>&& value) { SetData(std::move(value)); return *this;}
/**
* <p>The data that populates a row in a query result table.</p>
*/
inline Row& AddData(const Datum& value) { m_dataHasBeenSet = true; m_data.push_back(value); return *this; }
/**
* <p>The data that populates a row in a query result table.</p>
*/
inline Row& AddData(Datum&& value) { m_dataHasBeenSet = true; m_data.push_back(std::move(value)); return *this; }
private:
Aws::Vector<Datum> m_data;
bool m_dataHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,330 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/QueryExecutionContext.h>
#include <aws/athena/model/ResultConfiguration.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API StartQueryExecutionRequest : public AthenaRequest
{
public:
StartQueryExecutionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "StartQueryExecution"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The SQL query statements to be executed.</p>
*/
inline const Aws::String& GetQueryString() const{ return m_queryString; }
/**
* <p>The SQL query statements to be executed.</p>
*/
inline bool QueryStringHasBeenSet() const { return m_queryStringHasBeenSet; }
/**
* <p>The SQL query statements to be executed.</p>
*/
inline void SetQueryString(const Aws::String& value) { m_queryStringHasBeenSet = true; m_queryString = value; }
/**
* <p>The SQL query statements to be executed.</p>
*/
inline void SetQueryString(Aws::String&& value) { m_queryStringHasBeenSet = true; m_queryString = std::move(value); }
/**
* <p>The SQL query statements to be executed.</p>
*/
inline void SetQueryString(const char* value) { m_queryStringHasBeenSet = true; m_queryString.assign(value); }
/**
* <p>The SQL query statements to be executed.</p>
*/
inline StartQueryExecutionRequest& WithQueryString(const Aws::String& value) { SetQueryString(value); return *this;}
/**
* <p>The SQL query statements to be executed.</p>
*/
inline StartQueryExecutionRequest& WithQueryString(Aws::String&& value) { SetQueryString(std::move(value)); return *this;}
/**
* <p>The SQL query statements to be executed.</p>
*/
inline StartQueryExecutionRequest& WithQueryString(const char* value) { SetQueryString(value); return *this;}
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>StartQueryExecution</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline const Aws::String& GetClientRequestToken() const{ return m_clientRequestToken; }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>StartQueryExecution</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>StartQueryExecution</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline void SetClientRequestToken(const Aws::String& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = value; }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>StartQueryExecution</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline void SetClientRequestToken(Aws::String&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::move(value); }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>StartQueryExecution</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline void SetClientRequestToken(const char* value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken.assign(value); }
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>StartQueryExecution</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline StartQueryExecutionRequest& WithClientRequestToken(const Aws::String& value) { SetClientRequestToken(value); return *this;}
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>StartQueryExecution</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline StartQueryExecutionRequest& WithClientRequestToken(Aws::String&& value) { SetClientRequestToken(std::move(value)); return *this;}
/**
* <p>A unique case-sensitive string used to ensure the request to create the query
* is idempotent (executes only once). If another <code>StartQueryExecution</code>
* request is received, the same response is returned and another query is not
* created. If a parameter has changed, for example, the <code>QueryString</code>,
* an error is returned.</p> <p>This token is listed as not required
* because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for
* users. If you are not using the AWS SDK or the AWS CLI, you must provide this
* token or the action will fail.</p>
*/
inline StartQueryExecutionRequest& WithClientRequestToken(const char* value) { SetClientRequestToken(value); return *this;}
/**
* <p>The database within which the query executes.</p>
*/
inline const QueryExecutionContext& GetQueryExecutionContext() const{ return m_queryExecutionContext; }
/**
* <p>The database within which the query executes.</p>
*/
inline bool QueryExecutionContextHasBeenSet() const { return m_queryExecutionContextHasBeenSet; }
/**
* <p>The database within which the query executes.</p>
*/
inline void SetQueryExecutionContext(const QueryExecutionContext& value) { m_queryExecutionContextHasBeenSet = true; m_queryExecutionContext = value; }
/**
* <p>The database within which the query executes.</p>
*/
inline void SetQueryExecutionContext(QueryExecutionContext&& value) { m_queryExecutionContextHasBeenSet = true; m_queryExecutionContext = std::move(value); }
/**
* <p>The database within which the query executes.</p>
*/
inline StartQueryExecutionRequest& WithQueryExecutionContext(const QueryExecutionContext& value) { SetQueryExecutionContext(value); return *this;}
/**
* <p>The database within which the query executes.</p>
*/
inline StartQueryExecutionRequest& WithQueryExecutionContext(QueryExecutionContext&& value) { SetQueryExecutionContext(std::move(value)); return *this;}
/**
* <p>Specifies information about where and how to save the results of the query
* execution. If the query runs in a workgroup, then workgroup's settings may
* override query settings. This affects the query results location. The workgroup
* settings override is specified in EnforceWorkGroupConfiguration (true/false) in
* the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline const ResultConfiguration& GetResultConfiguration() const{ return m_resultConfiguration; }
/**
* <p>Specifies information about where and how to save the results of the query
* execution. If the query runs in a workgroup, then workgroup's settings may
* override query settings. This affects the query results location. The workgroup
* settings override is specified in EnforceWorkGroupConfiguration (true/false) in
* the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline bool ResultConfigurationHasBeenSet() const { return m_resultConfigurationHasBeenSet; }
/**
* <p>Specifies information about where and how to save the results of the query
* execution. If the query runs in a workgroup, then workgroup's settings may
* override query settings. This affects the query results location. The workgroup
* settings override is specified in EnforceWorkGroupConfiguration (true/false) in
* the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetResultConfiguration(const ResultConfiguration& value) { m_resultConfigurationHasBeenSet = true; m_resultConfiguration = value; }
/**
* <p>Specifies information about where and how to save the results of the query
* execution. If the query runs in a workgroup, then workgroup's settings may
* override query settings. This affects the query results location. The workgroup
* settings override is specified in EnforceWorkGroupConfiguration (true/false) in
* the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetResultConfiguration(ResultConfiguration&& value) { m_resultConfigurationHasBeenSet = true; m_resultConfiguration = std::move(value); }
/**
* <p>Specifies information about where and how to save the results of the query
* execution. If the query runs in a workgroup, then workgroup's settings may
* override query settings. This affects the query results location. The workgroup
* settings override is specified in EnforceWorkGroupConfiguration (true/false) in
* the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline StartQueryExecutionRequest& WithResultConfiguration(const ResultConfiguration& value) { SetResultConfiguration(value); return *this;}
/**
* <p>Specifies information about where and how to save the results of the query
* execution. If the query runs in a workgroup, then workgroup's settings may
* override query settings. This affects the query results location. The workgroup
* settings override is specified in EnforceWorkGroupConfiguration (true/false) in
* the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline StartQueryExecutionRequest& WithResultConfiguration(ResultConfiguration&& value) { SetResultConfiguration(std::move(value)); return *this;}
/**
* <p>The name of the workgroup in which the query is being started.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The name of the workgroup in which the query is being started.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The name of the workgroup in which the query is being started.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The name of the workgroup in which the query is being started.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The name of the workgroup in which the query is being started.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The name of the workgroup in which the query is being started.</p>
*/
inline StartQueryExecutionRequest& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The name of the workgroup in which the query is being started.</p>
*/
inline StartQueryExecutionRequest& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The name of the workgroup in which the query is being started.</p>
*/
inline StartQueryExecutionRequest& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
private:
Aws::String m_queryString;
bool m_queryStringHasBeenSet;
Aws::String m_clientRequestToken;
bool m_clientRequestTokenHasBeenSet;
QueryExecutionContext m_queryExecutionContext;
bool m_queryExecutionContextHasBeenSet;
ResultConfiguration m_resultConfiguration;
bool m_resultConfigurationHasBeenSet;
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,77 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API StartQueryExecutionResult
{
public:
StartQueryExecutionResult();
StartQueryExecutionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
StartQueryExecutionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>The unique ID of the query that ran as a result of this request.</p>
*/
inline const Aws::String& GetQueryExecutionId() const{ return m_queryExecutionId; }
/**
* <p>The unique ID of the query that ran as a result of this request.</p>
*/
inline void SetQueryExecutionId(const Aws::String& value) { m_queryExecutionId = value; }
/**
* <p>The unique ID of the query that ran as a result of this request.</p>
*/
inline void SetQueryExecutionId(Aws::String&& value) { m_queryExecutionId = std::move(value); }
/**
* <p>The unique ID of the query that ran as a result of this request.</p>
*/
inline void SetQueryExecutionId(const char* value) { m_queryExecutionId.assign(value); }
/**
* <p>The unique ID of the query that ran as a result of this request.</p>
*/
inline StartQueryExecutionResult& WithQueryExecutionId(const Aws::String& value) { SetQueryExecutionId(value); return *this;}
/**
* <p>The unique ID of the query that ran as a result of this request.</p>
*/
inline StartQueryExecutionResult& WithQueryExecutionId(Aws::String&& value) { SetQueryExecutionId(std::move(value)); return *this;}
/**
* <p>The unique ID of the query that ran as a result of this request.</p>
*/
inline StartQueryExecutionResult& WithQueryExecutionId(const char* value) { SetQueryExecutionId(value); return *this;}
private:
Aws::String m_queryExecutionId;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,32 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
enum class StatementType
{
NOT_SET,
DDL,
DML,
UTILITY
};
namespace StatementTypeMapper
{
AWS_ATHENA_API StatementType GetStatementTypeForName(const Aws::String& name);
AWS_ATHENA_API Aws::String GetNameForStatementType(StatementType value);
} // namespace StatementTypeMapper
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,86 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
#include <aws/core/utils/UUID.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API StopQueryExecutionRequest : public AthenaRequest
{
public:
StopQueryExecutionRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "StopQueryExecution"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The unique ID of the query execution to stop.</p>
*/
inline const Aws::String& GetQueryExecutionId() const{ return m_queryExecutionId; }
/**
* <p>The unique ID of the query execution to stop.</p>
*/
inline bool QueryExecutionIdHasBeenSet() const { return m_queryExecutionIdHasBeenSet; }
/**
* <p>The unique ID of the query execution to stop.</p>
*/
inline void SetQueryExecutionId(const Aws::String& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = value; }
/**
* <p>The unique ID of the query execution to stop.</p>
*/
inline void SetQueryExecutionId(Aws::String&& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = std::move(value); }
/**
* <p>The unique ID of the query execution to stop.</p>
*/
inline void SetQueryExecutionId(const char* value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId.assign(value); }
/**
* <p>The unique ID of the query execution to stop.</p>
*/
inline StopQueryExecutionRequest& WithQueryExecutionId(const Aws::String& value) { SetQueryExecutionId(value); return *this;}
/**
* <p>The unique ID of the query execution to stop.</p>
*/
inline StopQueryExecutionRequest& WithQueryExecutionId(Aws::String&& value) { SetQueryExecutionId(std::move(value)); return *this;}
/**
* <p>The unique ID of the query execution to stop.</p>
*/
inline StopQueryExecutionRequest& WithQueryExecutionId(const char* value) { SetQueryExecutionId(value); return *this;}
private:
Aws::String m_queryExecutionId;
bool m_queryExecutionIdHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API StopQueryExecutionResult
{
public:
StopQueryExecutionResult();
StopQueryExecutionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
StopQueryExecutionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,369 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/athena/model/Column.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Contains metadata for a table.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TableMetadata">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API TableMetadata
{
public:
TableMetadata();
TableMetadata(Aws::Utils::Json::JsonView jsonValue);
TableMetadata& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the table.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the table.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the table.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the table.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the table.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the table.</p>
*/
inline TableMetadata& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the table.</p>
*/
inline TableMetadata& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the table.</p>
*/
inline TableMetadata& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The time that the table was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; }
/**
* <p>The time that the table was created.</p>
*/
inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; }
/**
* <p>The time that the table was created.</p>
*/
inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; }
/**
* <p>The time that the table was created.</p>
*/
inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); }
/**
* <p>The time that the table was created.</p>
*/
inline TableMetadata& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;}
/**
* <p>The time that the table was created.</p>
*/
inline TableMetadata& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;}
/**
* <p>The last time the table was accessed.</p>
*/
inline const Aws::Utils::DateTime& GetLastAccessTime() const{ return m_lastAccessTime; }
/**
* <p>The last time the table was accessed.</p>
*/
inline bool LastAccessTimeHasBeenSet() const { return m_lastAccessTimeHasBeenSet; }
/**
* <p>The last time the table was accessed.</p>
*/
inline void SetLastAccessTime(const Aws::Utils::DateTime& value) { m_lastAccessTimeHasBeenSet = true; m_lastAccessTime = value; }
/**
* <p>The last time the table was accessed.</p>
*/
inline void SetLastAccessTime(Aws::Utils::DateTime&& value) { m_lastAccessTimeHasBeenSet = true; m_lastAccessTime = std::move(value); }
/**
* <p>The last time the table was accessed.</p>
*/
inline TableMetadata& WithLastAccessTime(const Aws::Utils::DateTime& value) { SetLastAccessTime(value); return *this;}
/**
* <p>The last time the table was accessed.</p>
*/
inline TableMetadata& WithLastAccessTime(Aws::Utils::DateTime&& value) { SetLastAccessTime(std::move(value)); return *this;}
/**
* <p>The type of table. In Athena, only <code>EXTERNAL_TABLE</code> is
* supported.</p>
*/
inline const Aws::String& GetTableType() const{ return m_tableType; }
/**
* <p>The type of table. In Athena, only <code>EXTERNAL_TABLE</code> is
* supported.</p>
*/
inline bool TableTypeHasBeenSet() const { return m_tableTypeHasBeenSet; }
/**
* <p>The type of table. In Athena, only <code>EXTERNAL_TABLE</code> is
* supported.</p>
*/
inline void SetTableType(const Aws::String& value) { m_tableTypeHasBeenSet = true; m_tableType = value; }
/**
* <p>The type of table. In Athena, only <code>EXTERNAL_TABLE</code> is
* supported.</p>
*/
inline void SetTableType(Aws::String&& value) { m_tableTypeHasBeenSet = true; m_tableType = std::move(value); }
/**
* <p>The type of table. In Athena, only <code>EXTERNAL_TABLE</code> is
* supported.</p>
*/
inline void SetTableType(const char* value) { m_tableTypeHasBeenSet = true; m_tableType.assign(value); }
/**
* <p>The type of table. In Athena, only <code>EXTERNAL_TABLE</code> is
* supported.</p>
*/
inline TableMetadata& WithTableType(const Aws::String& value) { SetTableType(value); return *this;}
/**
* <p>The type of table. In Athena, only <code>EXTERNAL_TABLE</code> is
* supported.</p>
*/
inline TableMetadata& WithTableType(Aws::String&& value) { SetTableType(std::move(value)); return *this;}
/**
* <p>The type of table. In Athena, only <code>EXTERNAL_TABLE</code> is
* supported.</p>
*/
inline TableMetadata& WithTableType(const char* value) { SetTableType(value); return *this;}
/**
* <p>A list of the columns in the table.</p>
*/
inline const Aws::Vector<Column>& GetColumns() const{ return m_columns; }
/**
* <p>A list of the columns in the table.</p>
*/
inline bool ColumnsHasBeenSet() const { return m_columnsHasBeenSet; }
/**
* <p>A list of the columns in the table.</p>
*/
inline void SetColumns(const Aws::Vector<Column>& value) { m_columnsHasBeenSet = true; m_columns = value; }
/**
* <p>A list of the columns in the table.</p>
*/
inline void SetColumns(Aws::Vector<Column>&& value) { m_columnsHasBeenSet = true; m_columns = std::move(value); }
/**
* <p>A list of the columns in the table.</p>
*/
inline TableMetadata& WithColumns(const Aws::Vector<Column>& value) { SetColumns(value); return *this;}
/**
* <p>A list of the columns in the table.</p>
*/
inline TableMetadata& WithColumns(Aws::Vector<Column>&& value) { SetColumns(std::move(value)); return *this;}
/**
* <p>A list of the columns in the table.</p>
*/
inline TableMetadata& AddColumns(const Column& value) { m_columnsHasBeenSet = true; m_columns.push_back(value); return *this; }
/**
* <p>A list of the columns in the table.</p>
*/
inline TableMetadata& AddColumns(Column&& value) { m_columnsHasBeenSet = true; m_columns.push_back(std::move(value)); return *this; }
/**
* <p>A list of the partition keys in the table.</p>
*/
inline const Aws::Vector<Column>& GetPartitionKeys() const{ return m_partitionKeys; }
/**
* <p>A list of the partition keys in the table.</p>
*/
inline bool PartitionKeysHasBeenSet() const { return m_partitionKeysHasBeenSet; }
/**
* <p>A list of the partition keys in the table.</p>
*/
inline void SetPartitionKeys(const Aws::Vector<Column>& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys = value; }
/**
* <p>A list of the partition keys in the table.</p>
*/
inline void SetPartitionKeys(Aws::Vector<Column>&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys = std::move(value); }
/**
* <p>A list of the partition keys in the table.</p>
*/
inline TableMetadata& WithPartitionKeys(const Aws::Vector<Column>& value) { SetPartitionKeys(value); return *this;}
/**
* <p>A list of the partition keys in the table.</p>
*/
inline TableMetadata& WithPartitionKeys(Aws::Vector<Column>&& value) { SetPartitionKeys(std::move(value)); return *this;}
/**
* <p>A list of the partition keys in the table.</p>
*/
inline TableMetadata& AddPartitionKeys(const Column& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.push_back(value); return *this; }
/**
* <p>A list of the partition keys in the table.</p>
*/
inline TableMetadata& AddPartitionKeys(Column&& value) { m_partitionKeysHasBeenSet = true; m_partitionKeys.push_back(std::move(value)); return *this; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>A set of custom key/value pairs for table properties.</p>
*/
inline TableMetadata& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
private:
Aws::String m_name;
bool m_nameHasBeenSet;
Aws::Utils::DateTime m_createTime;
bool m_createTimeHasBeenSet;
Aws::Utils::DateTime m_lastAccessTime;
bool m_lastAccessTimeHasBeenSet;
Aws::String m_tableType;
bool m_tableTypeHasBeenSet;
Aws::Vector<Column> m_columns;
bool m_columnsHasBeenSet;
Aws::Vector<Column> m_partitionKeys;
bool m_partitionKeysHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,184 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>A label that you assign to a resource. In Athena, a resource can be a
* workgroup or data catalog. Each tag consists of a key and an optional value,
* both of which you define. For example, you can use tags to categorize Athena
* workgroups or data catalogs by purpose, owner, or environment. Use a consistent
* set of tag keys to make it easier to search and filter workgroups or data
* catalogs in your account. For best practices, see <a
* href="https://aws.amazon.com/answers/account-management/aws-tagging-strategies/">Tagging
* Best Practices</a>. Tag keys can be from 1 to 128 UTF-8 Unicode characters, and
* tag values can be from 0 to 256 UTF-8 Unicode characters. Tags can use letters
* and numbers representable in UTF-8, and the following characters: + - = . _ : /
* @. Tag keys and values are case-sensitive. Tag keys must be unique per resource.
* If you specify more than one tag, separate them by commas. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/Tag">AWS API
* Reference</a></p>
*/
class AWS_ATHENA_API Tag
{
public:
Tag();
Tag(Aws::Utils::Json::JsonView jsonValue);
Tag& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8.
* You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per
* resource. </p>
*/
inline const Aws::String& GetKey() const{ return m_key; }
/**
* <p>A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8.
* You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per
* resource. </p>
*/
inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; }
/**
* <p>A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8.
* You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per
* resource. </p>
*/
inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; }
/**
* <p>A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8.
* You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per
* resource. </p>
*/
inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); }
/**
* <p>A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8.
* You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per
* resource. </p>
*/
inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); }
/**
* <p>A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8.
* You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per
* resource. </p>
*/
inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;}
/**
* <p>A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8.
* You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per
* resource. </p>
*/
inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;}
/**
* <p>A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8.
* You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per
* resource. </p>
*/
inline Tag& WithKey(const char* value) { SetKey(value); return *this;}
/**
* <p>A tag value. The tag value length is from 0 to 256 Unicode characters in
* UTF-8. You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag values are case-sensitive. </p>
*/
inline const Aws::String& GetValue() const{ return m_value; }
/**
* <p>A tag value. The tag value length is from 0 to 256 Unicode characters in
* UTF-8. You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag values are case-sensitive. </p>
*/
inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; }
/**
* <p>A tag value. The tag value length is from 0 to 256 Unicode characters in
* UTF-8. You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag values are case-sensitive. </p>
*/
inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; }
/**
* <p>A tag value. The tag value length is from 0 to 256 Unicode characters in
* UTF-8. You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag values are case-sensitive. </p>
*/
inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); }
/**
* <p>A tag value. The tag value length is from 0 to 256 Unicode characters in
* UTF-8. You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag values are case-sensitive. </p>
*/
inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); }
/**
* <p>A tag value. The tag value length is from 0 to 256 Unicode characters in
* UTF-8. You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag values are case-sensitive. </p>
*/
inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;}
/**
* <p>A tag value. The tag value length is from 0 to 256 Unicode characters in
* UTF-8. You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag values are case-sensitive. </p>
*/
inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;}
/**
* <p>A tag value. The tag value length is from 0 to 256 Unicode characters in
* UTF-8. You can use letters and numbers representable in UTF-8, and the following
* characters: + - = . _ : / @. Tag values are case-sensitive. </p>
*/
inline Tag& WithValue(const char* value) { SetValue(value); return *this;}
private:
Aws::String m_key;
bool m_keyHasBeenSet;
Aws::String m_value;
bool m_valueHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,147 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/athena/model/Tag.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API TagResourceRequest : public AthenaRequest
{
public:
TagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "TagResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>Specifies the ARN of the Athena resource (workgroup or data catalog) to which
* tags are to be added.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>Specifies the ARN of the Athena resource (workgroup or data catalog) to which
* tags are to be added.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>Specifies the ARN of the Athena resource (workgroup or data catalog) to which
* tags are to be added.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>Specifies the ARN of the Athena resource (workgroup or data catalog) to which
* tags are to be added.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>Specifies the ARN of the Athena resource (workgroup or data catalog) to which
* tags are to be added.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>Specifies the ARN of the Athena resource (workgroup or data catalog) to which
* tags are to be added.</p>
*/
inline TagResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>Specifies the ARN of the Athena resource (workgroup or data catalog) to which
* tags are to be added.</p>
*/
inline TagResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>Specifies the ARN of the Athena resource (workgroup or data catalog) to which
* tags are to be added.</p>
*/
inline TagResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>A collection of one or more tags, separated by commas, to be added to an
* Athena workgroup or data catalog resource.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>A collection of one or more tags, separated by commas, to be added to an
* Athena workgroup or data catalog resource.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>A collection of one or more tags, separated by commas, to be added to an
* Athena workgroup or data catalog resource.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>A collection of one or more tags, separated by commas, to be added to an
* Athena workgroup or data catalog resource.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>A collection of one or more tags, separated by commas, to be added to an
* Athena workgroup or data catalog resource.</p>
*/
inline TagResourceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>A collection of one or more tags, separated by commas, to be added to an
* Athena workgroup or data catalog resource.</p>
*/
inline TagResourceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>A collection of one or more tags, separated by commas, to be added to an
* Athena workgroup or data catalog resource.</p>
*/
inline TagResourceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>A collection of one or more tags, separated by commas, to be added to an
* Athena workgroup or data catalog resource.</p>
*/
inline TagResourceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API TagResourceResult
{
public:
TagResourceResult();
TagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
TagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,30 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
enum class ThrottleReason
{
NOT_SET,
CONCURRENT_QUERY_LIMIT_EXCEEDED
};
namespace ThrottleReasonMapper
{
AWS_ATHENA_API ThrottleReason GetThrottleReasonForName(const Aws::String& name);
AWS_ATHENA_API Aws::String GetNameForThrottleReason(ThrottleReason value);
} // namespace ThrottleReasonMapper
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,95 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/ThrottleReason.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Indicates that the request was throttled.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/TooManyRequestsException">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API TooManyRequestsException
{
public:
TooManyRequestsException();
TooManyRequestsException(Aws::Utils::Json::JsonView jsonValue);
TooManyRequestsException& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
inline const Aws::String& GetMessage() const{ return m_message; }
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
inline TooManyRequestsException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
inline TooManyRequestsException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
inline TooManyRequestsException& WithMessage(const char* value) { SetMessage(value); return *this;}
inline const ThrottleReason& GetReason() const{ return m_reason; }
inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; }
inline void SetReason(const ThrottleReason& value) { m_reasonHasBeenSet = true; m_reason = value; }
inline void SetReason(ThrottleReason&& value) { m_reasonHasBeenSet = true; m_reason = std::move(value); }
inline TooManyRequestsException& WithReason(const ThrottleReason& value) { SetReason(value); return *this;}
inline TooManyRequestsException& WithReason(ThrottleReason&& value) { SetReason(std::move(value)); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
ThrottleReason m_reason;
bool m_reasonHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,193 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Information about a named query ID that could not be processed.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UnprocessedNamedQueryId">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API UnprocessedNamedQueryId
{
public:
UnprocessedNamedQueryId();
UnprocessedNamedQueryId(Aws::Utils::Json::JsonView jsonValue);
UnprocessedNamedQueryId& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The unique identifier of the named query.</p>
*/
inline const Aws::String& GetNamedQueryId() const{ return m_namedQueryId; }
/**
* <p>The unique identifier of the named query.</p>
*/
inline bool NamedQueryIdHasBeenSet() const { return m_namedQueryIdHasBeenSet; }
/**
* <p>The unique identifier of the named query.</p>
*/
inline void SetNamedQueryId(const Aws::String& value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId = value; }
/**
* <p>The unique identifier of the named query.</p>
*/
inline void SetNamedQueryId(Aws::String&& value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId = std::move(value); }
/**
* <p>The unique identifier of the named query.</p>
*/
inline void SetNamedQueryId(const char* value) { m_namedQueryIdHasBeenSet = true; m_namedQueryId.assign(value); }
/**
* <p>The unique identifier of the named query.</p>
*/
inline UnprocessedNamedQueryId& WithNamedQueryId(const Aws::String& value) { SetNamedQueryId(value); return *this;}
/**
* <p>The unique identifier of the named query.</p>
*/
inline UnprocessedNamedQueryId& WithNamedQueryId(Aws::String&& value) { SetNamedQueryId(std::move(value)); return *this;}
/**
* <p>The unique identifier of the named query.</p>
*/
inline UnprocessedNamedQueryId& WithNamedQueryId(const char* value) { SetNamedQueryId(value); return *this;}
/**
* <p>The error code returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline const Aws::String& GetErrorCode() const{ return m_errorCode; }
/**
* <p>The error code returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; }
/**
* <p>The error code returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; }
/**
* <p>The error code returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); }
/**
* <p>The error code returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); }
/**
* <p>The error code returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline UnprocessedNamedQueryId& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;}
/**
* <p>The error code returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline UnprocessedNamedQueryId& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;}
/**
* <p>The error code returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline UnprocessedNamedQueryId& WithErrorCode(const char* value) { SetErrorCode(value); return *this;}
/**
* <p>The error message returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; }
/**
* <p>The error message returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; }
/**
* <p>The error message returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline void SetErrorMessage(const Aws::String& value) { m_errorMessageHasBeenSet = true; m_errorMessage = value; }
/**
* <p>The error message returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline void SetErrorMessage(Aws::String&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::move(value); }
/**
* <p>The error message returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline void SetErrorMessage(const char* value) { m_errorMessageHasBeenSet = true; m_errorMessage.assign(value); }
/**
* <p>The error message returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline UnprocessedNamedQueryId& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;}
/**
* <p>The error message returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline UnprocessedNamedQueryId& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;}
/**
* <p>The error message returned when the processing request for the named query
* failed, if applicable.</p>
*/
inline UnprocessedNamedQueryId& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;}
private:
Aws::String m_namedQueryId;
bool m_namedQueryIdHasBeenSet;
Aws::String m_errorCode;
bool m_errorCodeHasBeenSet;
Aws::String m_errorMessage;
bool m_errorMessageHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,193 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>Describes a query execution that failed to process.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UnprocessedQueryExecutionId">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API UnprocessedQueryExecutionId
{
public:
UnprocessedQueryExecutionId();
UnprocessedQueryExecutionId(Aws::Utils::Json::JsonView jsonValue);
UnprocessedQueryExecutionId& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The unique identifier of the query execution.</p>
*/
inline const Aws::String& GetQueryExecutionId() const{ return m_queryExecutionId; }
/**
* <p>The unique identifier of the query execution.</p>
*/
inline bool QueryExecutionIdHasBeenSet() const { return m_queryExecutionIdHasBeenSet; }
/**
* <p>The unique identifier of the query execution.</p>
*/
inline void SetQueryExecutionId(const Aws::String& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = value; }
/**
* <p>The unique identifier of the query execution.</p>
*/
inline void SetQueryExecutionId(Aws::String&& value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId = std::move(value); }
/**
* <p>The unique identifier of the query execution.</p>
*/
inline void SetQueryExecutionId(const char* value) { m_queryExecutionIdHasBeenSet = true; m_queryExecutionId.assign(value); }
/**
* <p>The unique identifier of the query execution.</p>
*/
inline UnprocessedQueryExecutionId& WithQueryExecutionId(const Aws::String& value) { SetQueryExecutionId(value); return *this;}
/**
* <p>The unique identifier of the query execution.</p>
*/
inline UnprocessedQueryExecutionId& WithQueryExecutionId(Aws::String&& value) { SetQueryExecutionId(std::move(value)); return *this;}
/**
* <p>The unique identifier of the query execution.</p>
*/
inline UnprocessedQueryExecutionId& WithQueryExecutionId(const char* value) { SetQueryExecutionId(value); return *this;}
/**
* <p>The error code returned when the query execution failed to process, if
* applicable.</p>
*/
inline const Aws::String& GetErrorCode() const{ return m_errorCode; }
/**
* <p>The error code returned when the query execution failed to process, if
* applicable.</p>
*/
inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; }
/**
* <p>The error code returned when the query execution failed to process, if
* applicable.</p>
*/
inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; }
/**
* <p>The error code returned when the query execution failed to process, if
* applicable.</p>
*/
inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); }
/**
* <p>The error code returned when the query execution failed to process, if
* applicable.</p>
*/
inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); }
/**
* <p>The error code returned when the query execution failed to process, if
* applicable.</p>
*/
inline UnprocessedQueryExecutionId& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;}
/**
* <p>The error code returned when the query execution failed to process, if
* applicable.</p>
*/
inline UnprocessedQueryExecutionId& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;}
/**
* <p>The error code returned when the query execution failed to process, if
* applicable.</p>
*/
inline UnprocessedQueryExecutionId& WithErrorCode(const char* value) { SetErrorCode(value); return *this;}
/**
* <p>The error message returned when the query execution failed to process, if
* applicable.</p>
*/
inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; }
/**
* <p>The error message returned when the query execution failed to process, if
* applicable.</p>
*/
inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; }
/**
* <p>The error message returned when the query execution failed to process, if
* applicable.</p>
*/
inline void SetErrorMessage(const Aws::String& value) { m_errorMessageHasBeenSet = true; m_errorMessage = value; }
/**
* <p>The error message returned when the query execution failed to process, if
* applicable.</p>
*/
inline void SetErrorMessage(Aws::String&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::move(value); }
/**
* <p>The error message returned when the query execution failed to process, if
* applicable.</p>
*/
inline void SetErrorMessage(const char* value) { m_errorMessageHasBeenSet = true; m_errorMessage.assign(value); }
/**
* <p>The error message returned when the query execution failed to process, if
* applicable.</p>
*/
inline UnprocessedQueryExecutionId& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;}
/**
* <p>The error message returned when the query execution failed to process, if
* applicable.</p>
*/
inline UnprocessedQueryExecutionId& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;}
/**
* <p>The error message returned when the query execution failed to process, if
* applicable.</p>
*/
inline UnprocessedQueryExecutionId& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;}
private:
Aws::String m_queryExecutionId;
bool m_queryExecutionIdHasBeenSet;
Aws::String m_errorCode;
bool m_errorCodeHasBeenSet;
Aws::String m_errorMessage;
bool m_errorMessageHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,144 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API UntagResourceRequest : public AthenaRequest
{
public:
UntagResourceRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UntagResource"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>Specifies the ARN of the resource from which tags are to be removed.</p>
*/
inline const Aws::String& GetResourceARN() const{ return m_resourceARN; }
/**
* <p>Specifies the ARN of the resource from which tags are to be removed.</p>
*/
inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
/**
* <p>Specifies the ARN of the resource from which tags are to be removed.</p>
*/
inline void SetResourceARN(const Aws::String& value) { m_resourceARNHasBeenSet = true; m_resourceARN = value; }
/**
* <p>Specifies the ARN of the resource from which tags are to be removed.</p>
*/
inline void SetResourceARN(Aws::String&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::move(value); }
/**
* <p>Specifies the ARN of the resource from which tags are to be removed.</p>
*/
inline void SetResourceARN(const char* value) { m_resourceARNHasBeenSet = true; m_resourceARN.assign(value); }
/**
* <p>Specifies the ARN of the resource from which tags are to be removed.</p>
*/
inline UntagResourceRequest& WithResourceARN(const Aws::String& value) { SetResourceARN(value); return *this;}
/**
* <p>Specifies the ARN of the resource from which tags are to be removed.</p>
*/
inline UntagResourceRequest& WithResourceARN(Aws::String&& value) { SetResourceARN(std::move(value)); return *this;}
/**
* <p>Specifies the ARN of the resource from which tags are to be removed.</p>
*/
inline UntagResourceRequest& WithResourceARN(const char* value) { SetResourceARN(value); return *this;}
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline const Aws::Vector<Aws::String>& GetTagKeys() const{ return m_tagKeys; }
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; }
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline void SetTagKeys(const Aws::Vector<Aws::String>& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; }
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline void SetTagKeys(Aws::Vector<Aws::String>&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); }
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline UntagResourceRequest& WithTagKeys(const Aws::Vector<Aws::String>& value) { SetTagKeys(value); return *this;}
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline UntagResourceRequest& WithTagKeys(Aws::Vector<Aws::String>&& value) { SetTagKeys(std::move(value)); return *this;}
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline UntagResourceRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline UntagResourceRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; }
/**
* <p>A comma-separated list of one or more tag keys whose tags are to be removed
* from the specified resource.</p>
*/
inline UntagResourceRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; }
private:
Aws::String m_resourceARN;
bool m_resourceARNHasBeenSet;
Aws::Vector<Aws::String> m_tagKeys;
bool m_tagKeysHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API UntagResourceResult
{
public:
UntagResourceResult();
UntagResourceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UntagResourceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,470 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/DataCatalogType.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API UpdateDataCatalogRequest : public AthenaRequest
{
public:
UpdateDataCatalogRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateDataCatalog"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The name of the data catalog to update. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the data catalog to update. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the data catalog to update. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the data catalog to update. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the data catalog to update. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the data catalog to update. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline UpdateDataCatalogRequest& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the data catalog to update. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline UpdateDataCatalogRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the data catalog to update. The catalog name must be unique for
* the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign,
* or hyphen characters.</p>
*/
inline UpdateDataCatalogRequest& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>Specifies the type of data catalog to update. Specify <code>LAMBDA</code> for
* a federated catalog, <code>GLUE</code> for AWS Glue Catalog, or
* <code>HIVE</code> for an external hive metastore.</p>
*/
inline const DataCatalogType& GetType() const{ return m_type; }
/**
* <p>Specifies the type of data catalog to update. Specify <code>LAMBDA</code> for
* a federated catalog, <code>GLUE</code> for AWS Glue Catalog, or
* <code>HIVE</code> for an external hive metastore.</p>
*/
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
/**
* <p>Specifies the type of data catalog to update. Specify <code>LAMBDA</code> for
* a federated catalog, <code>GLUE</code> for AWS Glue Catalog, or
* <code>HIVE</code> for an external hive metastore.</p>
*/
inline void SetType(const DataCatalogType& value) { m_typeHasBeenSet = true; m_type = value; }
/**
* <p>Specifies the type of data catalog to update. Specify <code>LAMBDA</code> for
* a federated catalog, <code>GLUE</code> for AWS Glue Catalog, or
* <code>HIVE</code> for an external hive metastore.</p>
*/
inline void SetType(DataCatalogType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); }
/**
* <p>Specifies the type of data catalog to update. Specify <code>LAMBDA</code> for
* a federated catalog, <code>GLUE</code> for AWS Glue Catalog, or
* <code>HIVE</code> for an external hive metastore.</p>
*/
inline UpdateDataCatalogRequest& WithType(const DataCatalogType& value) { SetType(value); return *this;}
/**
* <p>Specifies the type of data catalog to update. Specify <code>LAMBDA</code> for
* a federated catalog, <code>GLUE</code> for AWS Glue Catalog, or
* <code>HIVE</code> for an external hive metastore.</p>
*/
inline UpdateDataCatalogRequest& WithType(DataCatalogType&& value) { SetType(std::move(value)); return *this;}
/**
* <p>New or modified text that describes the data catalog.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>New or modified text that describes the data catalog.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>New or modified text that describes the data catalog.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>New or modified text that describes the data catalog.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>New or modified text that describes the data catalog.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>New or modified text that describes the data catalog.</p>
*/
inline UpdateDataCatalogRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>New or modified text that describes the data catalog.</p>
*/
inline UpdateDataCatalogRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>New or modified text that describes the data catalog.</p>
*/
inline UpdateDataCatalogRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline void SetParameters(const Aws::Map<Aws::String, Aws::String>& value) { m_parametersHasBeenSet = true; m_parameters = value; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline void SetParameters(Aws::Map<Aws::String, Aws::String>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& WithParameters(const Aws::Map<Aws::String, Aws::String>& value) { SetParameters(value); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& WithParameters(Aws::Map<Aws::String, Aws::String>&& value) { SetParameters(std::move(value)); return *this;}
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
/**
* <p>Specifies the Lambda function or functions to use for updating the data
* catalog. This is a mapping whose values depend on the catalog type. </p> <ul>
* <li> <p>For the <code>HIVE</code> data catalog type, use the following syntax.
* The <code>metadata-function</code> parameter is required. <code>The
* sdk-version</code> parameter is optional and defaults to the currently supported
* version.</p> <p> <code>metadata-function=<i>lambda_arn</i>,
* sdk-version=<i>version_number</i> </code> </p> </li> <li> <p>For the
* <code>LAMBDA</code> data catalog type, use one of the following sets of required
* parameters, but not both.</p> <ul> <li> <p>If you have one Lambda function that
* processes metadata and another for reading the actual data, use the following
* syntax. Both parameters are required.</p> <p>
* <code>metadata-function=<i>lambda_arn</i>, record-function=<i>lambda_arn</i>
* </code> </p> </li> <li> <p> If you have a composite Lambda function that
* processes both metadata and data, use the following syntax to specify your
* Lambda function.</p> <p> <code>function=<i>lambda_arn</i> </code> </p> </li>
* </ul> </li> <li> <p>The <code>GLUE</code> type has no parameters.</p> </li>
* </ul>
*/
inline UpdateDataCatalogRequest& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
private:
Aws::String m_name;
bool m_nameHasBeenSet;
DataCatalogType m_type;
bool m_typeHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API UpdateDataCatalogResult
{
public:
UpdateDataCatalogResult();
UpdateDataCatalogResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateDataCatalogResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,199 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/AthenaRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/WorkGroupConfigurationUpdates.h>
#include <aws/athena/model/WorkGroupState.h>
#include <utility>
namespace Aws
{
namespace Athena
{
namespace Model
{
/**
*/
class AWS_ATHENA_API UpdateWorkGroupRequest : public AthenaRequest
{
public:
UpdateWorkGroupRequest();
// Service request name is the Operation name which will send this request out,
// each operation should has unique request name, so that we can get operation's name from this request.
// Note: this is not true for response, multiple operations may have the same response name,
// so we can not get operation's name from response.
inline virtual const char* GetServiceRequestName() const override { return "UpdateWorkGroup"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The specified workgroup that will be updated.</p>
*/
inline const Aws::String& GetWorkGroup() const{ return m_workGroup; }
/**
* <p>The specified workgroup that will be updated.</p>
*/
inline bool WorkGroupHasBeenSet() const { return m_workGroupHasBeenSet; }
/**
* <p>The specified workgroup that will be updated.</p>
*/
inline void SetWorkGroup(const Aws::String& value) { m_workGroupHasBeenSet = true; m_workGroup = value; }
/**
* <p>The specified workgroup that will be updated.</p>
*/
inline void SetWorkGroup(Aws::String&& value) { m_workGroupHasBeenSet = true; m_workGroup = std::move(value); }
/**
* <p>The specified workgroup that will be updated.</p>
*/
inline void SetWorkGroup(const char* value) { m_workGroupHasBeenSet = true; m_workGroup.assign(value); }
/**
* <p>The specified workgroup that will be updated.</p>
*/
inline UpdateWorkGroupRequest& WithWorkGroup(const Aws::String& value) { SetWorkGroup(value); return *this;}
/**
* <p>The specified workgroup that will be updated.</p>
*/
inline UpdateWorkGroupRequest& WithWorkGroup(Aws::String&& value) { SetWorkGroup(std::move(value)); return *this;}
/**
* <p>The specified workgroup that will be updated.</p>
*/
inline UpdateWorkGroupRequest& WithWorkGroup(const char* value) { SetWorkGroup(value); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>The workgroup description.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>The workgroup description.</p>
*/
inline UpdateWorkGroupRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline UpdateWorkGroupRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline UpdateWorkGroupRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The workgroup configuration that will be updated for the given workgroup.</p>
*/
inline const WorkGroupConfigurationUpdates& GetConfigurationUpdates() const{ return m_configurationUpdates; }
/**
* <p>The workgroup configuration that will be updated for the given workgroup.</p>
*/
inline bool ConfigurationUpdatesHasBeenSet() const { return m_configurationUpdatesHasBeenSet; }
/**
* <p>The workgroup configuration that will be updated for the given workgroup.</p>
*/
inline void SetConfigurationUpdates(const WorkGroupConfigurationUpdates& value) { m_configurationUpdatesHasBeenSet = true; m_configurationUpdates = value; }
/**
* <p>The workgroup configuration that will be updated for the given workgroup.</p>
*/
inline void SetConfigurationUpdates(WorkGroupConfigurationUpdates&& value) { m_configurationUpdatesHasBeenSet = true; m_configurationUpdates = std::move(value); }
/**
* <p>The workgroup configuration that will be updated for the given workgroup.</p>
*/
inline UpdateWorkGroupRequest& WithConfigurationUpdates(const WorkGroupConfigurationUpdates& value) { SetConfigurationUpdates(value); return *this;}
/**
* <p>The workgroup configuration that will be updated for the given workgroup.</p>
*/
inline UpdateWorkGroupRequest& WithConfigurationUpdates(WorkGroupConfigurationUpdates&& value) { SetConfigurationUpdates(std::move(value)); return *this;}
/**
* <p>The workgroup state that will be updated for the given workgroup.</p>
*/
inline const WorkGroupState& GetState() const{ return m_state; }
/**
* <p>The workgroup state that will be updated for the given workgroup.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The workgroup state that will be updated for the given workgroup.</p>
*/
inline void SetState(const WorkGroupState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The workgroup state that will be updated for the given workgroup.</p>
*/
inline void SetState(WorkGroupState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The workgroup state that will be updated for the given workgroup.</p>
*/
inline UpdateWorkGroupRequest& WithState(const WorkGroupState& value) { SetState(value); return *this;}
/**
* <p>The workgroup state that will be updated for the given workgroup.</p>
*/
inline UpdateWorkGroupRequest& WithState(WorkGroupState&& value) { SetState(std::move(value)); return *this;}
private:
Aws::String m_workGroup;
bool m_workGroupHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
WorkGroupConfigurationUpdates m_configurationUpdates;
bool m_configurationUpdatesHasBeenSet;
WorkGroupState m_state;
bool m_stateHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,36 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
class AWS_ATHENA_API UpdateWorkGroupResult
{
public:
UpdateWorkGroupResult();
UpdateWorkGroupResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateWorkGroupResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,288 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/WorkGroupState.h>
#include <aws/athena/model/WorkGroupConfiguration.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>A workgroup, which contains a name, description, creation time, state, and
* other configuration, listed under <a>WorkGroup$Configuration</a>. Each workgroup
* enables you to isolate queries for you or your group of users from other queries
* in the same account, to configure the query results location and the encryption
* configuration (known as workgroup settings), to enable sending query metrics to
* Amazon CloudWatch, and to establish per-query data usage control limits for all
* queries in a workgroup. The workgroup settings override is specified in
* EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/WorkGroup">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API WorkGroup
{
public:
WorkGroup();
WorkGroup(Aws::Utils::Json::JsonView jsonValue);
WorkGroup& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The workgroup name.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The workgroup name.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The workgroup name.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The workgroup name.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The workgroup name.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The workgroup name.</p>
*/
inline WorkGroup& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The workgroup name.</p>
*/
inline WorkGroup& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The workgroup name.</p>
*/
inline WorkGroup& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The state of the workgroup: ENABLED or DISABLED.</p>
*/
inline const WorkGroupState& GetState() const{ return m_state; }
/**
* <p>The state of the workgroup: ENABLED or DISABLED.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The state of the workgroup: ENABLED or DISABLED.</p>
*/
inline void SetState(const WorkGroupState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The state of the workgroup: ENABLED or DISABLED.</p>
*/
inline void SetState(WorkGroupState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The state of the workgroup: ENABLED or DISABLED.</p>
*/
inline WorkGroup& WithState(const WorkGroupState& value) { SetState(value); return *this;}
/**
* <p>The state of the workgroup: ENABLED or DISABLED.</p>
*/
inline WorkGroup& WithState(WorkGroupState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>The configuration of the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* query results; whether the Amazon CloudWatch Metrics are enabled for the
* workgroup; whether workgroup settings override client-side settings; and the
* data usage limits for the amount of data scanned per query or per workgroup. The
* workgroup settings override is specified in EnforceWorkGroupConfiguration
* (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline const WorkGroupConfiguration& GetConfiguration() const{ return m_configuration; }
/**
* <p>The configuration of the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* query results; whether the Amazon CloudWatch Metrics are enabled for the
* workgroup; whether workgroup settings override client-side settings; and the
* data usage limits for the amount of data scanned per query or per workgroup. The
* workgroup settings override is specified in EnforceWorkGroupConfiguration
* (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline bool ConfigurationHasBeenSet() const { return m_configurationHasBeenSet; }
/**
* <p>The configuration of the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* query results; whether the Amazon CloudWatch Metrics are enabled for the
* workgroup; whether workgroup settings override client-side settings; and the
* data usage limits for the amount of data scanned per query or per workgroup. The
* workgroup settings override is specified in EnforceWorkGroupConfiguration
* (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetConfiguration(const WorkGroupConfiguration& value) { m_configurationHasBeenSet = true; m_configuration = value; }
/**
* <p>The configuration of the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* query results; whether the Amazon CloudWatch Metrics are enabled for the
* workgroup; whether workgroup settings override client-side settings; and the
* data usage limits for the amount of data scanned per query or per workgroup. The
* workgroup settings override is specified in EnforceWorkGroupConfiguration
* (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline void SetConfiguration(WorkGroupConfiguration&& value) { m_configurationHasBeenSet = true; m_configuration = std::move(value); }
/**
* <p>The configuration of the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* query results; whether the Amazon CloudWatch Metrics are enabled for the
* workgroup; whether workgroup settings override client-side settings; and the
* data usage limits for the amount of data scanned per query or per workgroup. The
* workgroup settings override is specified in EnforceWorkGroupConfiguration
* (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline WorkGroup& WithConfiguration(const WorkGroupConfiguration& value) { SetConfiguration(value); return *this;}
/**
* <p>The configuration of the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption configuration, if any, used for
* query results; whether the Amazon CloudWatch Metrics are enabled for the
* workgroup; whether workgroup settings override client-side settings; and the
* data usage limits for the amount of data scanned per query or per workgroup. The
* workgroup settings override is specified in EnforceWorkGroupConfiguration
* (true/false) in the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>.</p>
*/
inline WorkGroup& WithConfiguration(WorkGroupConfiguration&& value) { SetConfiguration(std::move(value)); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>The workgroup description.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>The workgroup description.</p>
*/
inline WorkGroup& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline WorkGroup& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline WorkGroup& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The date and time the workgroup was created.</p>
*/
inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
/**
* <p>The date and time the workgroup was created.</p>
*/
inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
/**
* <p>The date and time the workgroup was created.</p>
*/
inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
/**
* <p>The date and time the workgroup was created.</p>
*/
inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
/**
* <p>The date and time the workgroup was created.</p>
*/
inline WorkGroup& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
/**
* <p>The date and time the workgroup was created.</p>
*/
inline WorkGroup& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
WorkGroupState m_state;
bool m_stateHasBeenSet;
WorkGroupConfiguration m_configuration;
bool m_configurationHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::Utils::DateTime m_creationTime;
bool m_creationTimeHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,286 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/ResultConfiguration.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The configuration of the workgroup, which includes the location in Amazon S3
* where query results are stored, the encryption option, if any, used for query
* results, whether the Amazon CloudWatch Metrics are enabled for the workgroup and
* whether workgroup settings override query settings, and the data usage limits
* for the amount of data scanned per query or per workgroup. The workgroup
* settings override is specified in EnforceWorkGroupConfiguration (true/false) in
* the WorkGroupConfiguration. See
* <a>WorkGroupConfiguration$EnforceWorkGroupConfiguration</a>. </p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/WorkGroupConfiguration">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API WorkGroupConfiguration
{
public:
WorkGroupConfiguration();
WorkGroupConfiguration(Aws::Utils::Json::JsonView jsonValue);
WorkGroupConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored and the encryption option, if any, used for query
* results. To run the query, you must specify the query results location using one
* of the ways: either in the workgroup using this setting, or for individual
* queries (client-side), using <a>ResultConfiguration$OutputLocation</a>. If none
* of them is set, Athena issues an error that no output location is provided. For
* more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>.</p>
*/
inline const ResultConfiguration& GetResultConfiguration() const{ return m_resultConfiguration; }
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored and the encryption option, if any, used for query
* results. To run the query, you must specify the query results location using one
* of the ways: either in the workgroup using this setting, or for individual
* queries (client-side), using <a>ResultConfiguration$OutputLocation</a>. If none
* of them is set, Athena issues an error that no output location is provided. For
* more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>.</p>
*/
inline bool ResultConfigurationHasBeenSet() const { return m_resultConfigurationHasBeenSet; }
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored and the encryption option, if any, used for query
* results. To run the query, you must specify the query results location using one
* of the ways: either in the workgroup using this setting, or for individual
* queries (client-side), using <a>ResultConfiguration$OutputLocation</a>. If none
* of them is set, Athena issues an error that no output location is provided. For
* more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>.</p>
*/
inline void SetResultConfiguration(const ResultConfiguration& value) { m_resultConfigurationHasBeenSet = true; m_resultConfiguration = value; }
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored and the encryption option, if any, used for query
* results. To run the query, you must specify the query results location using one
* of the ways: either in the workgroup using this setting, or for individual
* queries (client-side), using <a>ResultConfiguration$OutputLocation</a>. If none
* of them is set, Athena issues an error that no output location is provided. For
* more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>.</p>
*/
inline void SetResultConfiguration(ResultConfiguration&& value) { m_resultConfigurationHasBeenSet = true; m_resultConfiguration = std::move(value); }
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored and the encryption option, if any, used for query
* results. To run the query, you must specify the query results location using one
* of the ways: either in the workgroup using this setting, or for individual
* queries (client-side), using <a>ResultConfiguration$OutputLocation</a>. If none
* of them is set, Athena issues an error that no output location is provided. For
* more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>.</p>
*/
inline WorkGroupConfiguration& WithResultConfiguration(const ResultConfiguration& value) { SetResultConfiguration(value); return *this;}
/**
* <p>The configuration for the workgroup, which includes the location in Amazon S3
* where query results are stored and the encryption option, if any, used for query
* results. To run the query, you must specify the query results location using one
* of the ways: either in the workgroup using this setting, or for individual
* queries (client-side), using <a>ResultConfiguration$OutputLocation</a>. If none
* of them is set, Athena issues an error that no output location is provided. For
* more information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/querying.html">Query
* Results</a>.</p>
*/
inline WorkGroupConfiguration& WithResultConfiguration(ResultConfiguration&& value) { SetResultConfiguration(std::move(value)); return *this;}
/**
* <p>If set to "true", the settings for the workgroup override client-side
* settings. If set to "false", client-side settings are used. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool GetEnforceWorkGroupConfiguration() const{ return m_enforceWorkGroupConfiguration; }
/**
* <p>If set to "true", the settings for the workgroup override client-side
* settings. If set to "false", client-side settings are used. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool EnforceWorkGroupConfigurationHasBeenSet() const { return m_enforceWorkGroupConfigurationHasBeenSet; }
/**
* <p>If set to "true", the settings for the workgroup override client-side
* settings. If set to "false", client-side settings are used. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline void SetEnforceWorkGroupConfiguration(bool value) { m_enforceWorkGroupConfigurationHasBeenSet = true; m_enforceWorkGroupConfiguration = value; }
/**
* <p>If set to "true", the settings for the workgroup override client-side
* settings. If set to "false", client-side settings are used. For more
* information, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline WorkGroupConfiguration& WithEnforceWorkGroupConfiguration(bool value) { SetEnforceWorkGroupConfiguration(value); return *this;}
/**
* <p>Indicates that the Amazon CloudWatch metrics are enabled for the
* workgroup.</p>
*/
inline bool GetPublishCloudWatchMetricsEnabled() const{ return m_publishCloudWatchMetricsEnabled; }
/**
* <p>Indicates that the Amazon CloudWatch metrics are enabled for the
* workgroup.</p>
*/
inline bool PublishCloudWatchMetricsEnabledHasBeenSet() const { return m_publishCloudWatchMetricsEnabledHasBeenSet; }
/**
* <p>Indicates that the Amazon CloudWatch metrics are enabled for the
* workgroup.</p>
*/
inline void SetPublishCloudWatchMetricsEnabled(bool value) { m_publishCloudWatchMetricsEnabledHasBeenSet = true; m_publishCloudWatchMetricsEnabled = value; }
/**
* <p>Indicates that the Amazon CloudWatch metrics are enabled for the
* workgroup.</p>
*/
inline WorkGroupConfiguration& WithPublishCloudWatchMetricsEnabled(bool value) { SetPublishCloudWatchMetricsEnabled(value); return *this;}
/**
* <p>The upper data usage limit (cutoff) for the amount of bytes a single query in
* a workgroup is allowed to scan.</p>
*/
inline long long GetBytesScannedCutoffPerQuery() const{ return m_bytesScannedCutoffPerQuery; }
/**
* <p>The upper data usage limit (cutoff) for the amount of bytes a single query in
* a workgroup is allowed to scan.</p>
*/
inline bool BytesScannedCutoffPerQueryHasBeenSet() const { return m_bytesScannedCutoffPerQueryHasBeenSet; }
/**
* <p>The upper data usage limit (cutoff) for the amount of bytes a single query in
* a workgroup is allowed to scan.</p>
*/
inline void SetBytesScannedCutoffPerQuery(long long value) { m_bytesScannedCutoffPerQueryHasBeenSet = true; m_bytesScannedCutoffPerQuery = value; }
/**
* <p>The upper data usage limit (cutoff) for the amount of bytes a single query in
* a workgroup is allowed to scan.</p>
*/
inline WorkGroupConfiguration& WithBytesScannedCutoffPerQuery(long long value) { SetBytesScannedCutoffPerQuery(value); return *this;}
/**
* <p>If set to <code>true</code>, allows members assigned to a workgroup to
* reference Amazon S3 Requester Pays buckets in queries. If set to
* <code>false</code>, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an
* error. The default is <code>false</code>. For more information about Requester
* Pays buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
* Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer
* Guide</i>.</p>
*/
inline bool GetRequesterPaysEnabled() const{ return m_requesterPaysEnabled; }
/**
* <p>If set to <code>true</code>, allows members assigned to a workgroup to
* reference Amazon S3 Requester Pays buckets in queries. If set to
* <code>false</code>, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an
* error. The default is <code>false</code>. For more information about Requester
* Pays buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
* Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer
* Guide</i>.</p>
*/
inline bool RequesterPaysEnabledHasBeenSet() const { return m_requesterPaysEnabledHasBeenSet; }
/**
* <p>If set to <code>true</code>, allows members assigned to a workgroup to
* reference Amazon S3 Requester Pays buckets in queries. If set to
* <code>false</code>, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an
* error. The default is <code>false</code>. For more information about Requester
* Pays buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
* Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer
* Guide</i>.</p>
*/
inline void SetRequesterPaysEnabled(bool value) { m_requesterPaysEnabledHasBeenSet = true; m_requesterPaysEnabled = value; }
/**
* <p>If set to <code>true</code>, allows members assigned to a workgroup to
* reference Amazon S3 Requester Pays buckets in queries. If set to
* <code>false</code>, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an
* error. The default is <code>false</code>. For more information about Requester
* Pays buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
* Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer
* Guide</i>.</p>
*/
inline WorkGroupConfiguration& WithRequesterPaysEnabled(bool value) { SetRequesterPaysEnabled(value); return *this;}
private:
ResultConfiguration m_resultConfiguration;
bool m_resultConfigurationHasBeenSet;
bool m_enforceWorkGroupConfiguration;
bool m_enforceWorkGroupConfigurationHasBeenSet;
bool m_publishCloudWatchMetricsEnabled;
bool m_publishCloudWatchMetricsEnabledHasBeenSet;
long long m_bytesScannedCutoffPerQuery;
bool m_bytesScannedCutoffPerQueryHasBeenSet;
bool m_requesterPaysEnabled;
bool m_requesterPaysEnabledHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,275 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/ResultConfigurationUpdates.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The configuration information that will be updated for this workgroup, which
* includes the location in Amazon S3 where query results are stored, the
* encryption option, if any, used for query results, whether the Amazon CloudWatch
* Metrics are enabled for the workgroup, whether the workgroup settings override
* the client-side settings, and the data usage limit for the amount of bytes
* scanned per query, if it is specified.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/WorkGroupConfigurationUpdates">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API WorkGroupConfigurationUpdates
{
public:
WorkGroupConfigurationUpdates();
WorkGroupConfigurationUpdates(Aws::Utils::Json::JsonView jsonValue);
WorkGroupConfigurationUpdates& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>If set to "true", the settings for the workgroup override client-side
* settings. If set to "false" client-side settings are used. For more information,
* see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool GetEnforceWorkGroupConfiguration() const{ return m_enforceWorkGroupConfiguration; }
/**
* <p>If set to "true", the settings for the workgroup override client-side
* settings. If set to "false" client-side settings are used. For more information,
* see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline bool EnforceWorkGroupConfigurationHasBeenSet() const { return m_enforceWorkGroupConfigurationHasBeenSet; }
/**
* <p>If set to "true", the settings for the workgroup override client-side
* settings. If set to "false" client-side settings are used. For more information,
* see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline void SetEnforceWorkGroupConfiguration(bool value) { m_enforceWorkGroupConfigurationHasBeenSet = true; m_enforceWorkGroupConfiguration = value; }
/**
* <p>If set to "true", the settings for the workgroup override client-side
* settings. If set to "false" client-side settings are used. For more information,
* see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html">Workgroup
* Settings Override Client-Side Settings</a>.</p>
*/
inline WorkGroupConfigurationUpdates& WithEnforceWorkGroupConfiguration(bool value) { SetEnforceWorkGroupConfiguration(value); return *this;}
/**
* <p>The result configuration information about the queries in this workgroup that
* will be updated. Includes the updated results location and an updated option for
* encrypting query results.</p>
*/
inline const ResultConfigurationUpdates& GetResultConfigurationUpdates() const{ return m_resultConfigurationUpdates; }
/**
* <p>The result configuration information about the queries in this workgroup that
* will be updated. Includes the updated results location and an updated option for
* encrypting query results.</p>
*/
inline bool ResultConfigurationUpdatesHasBeenSet() const { return m_resultConfigurationUpdatesHasBeenSet; }
/**
* <p>The result configuration information about the queries in this workgroup that
* will be updated. Includes the updated results location and an updated option for
* encrypting query results.</p>
*/
inline void SetResultConfigurationUpdates(const ResultConfigurationUpdates& value) { m_resultConfigurationUpdatesHasBeenSet = true; m_resultConfigurationUpdates = value; }
/**
* <p>The result configuration information about the queries in this workgroup that
* will be updated. Includes the updated results location and an updated option for
* encrypting query results.</p>
*/
inline void SetResultConfigurationUpdates(ResultConfigurationUpdates&& value) { m_resultConfigurationUpdatesHasBeenSet = true; m_resultConfigurationUpdates = std::move(value); }
/**
* <p>The result configuration information about the queries in this workgroup that
* will be updated. Includes the updated results location and an updated option for
* encrypting query results.</p>
*/
inline WorkGroupConfigurationUpdates& WithResultConfigurationUpdates(const ResultConfigurationUpdates& value) { SetResultConfigurationUpdates(value); return *this;}
/**
* <p>The result configuration information about the queries in this workgroup that
* will be updated. Includes the updated results location and an updated option for
* encrypting query results.</p>
*/
inline WorkGroupConfigurationUpdates& WithResultConfigurationUpdates(ResultConfigurationUpdates&& value) { SetResultConfigurationUpdates(std::move(value)); return *this;}
/**
* <p>Indicates whether this workgroup enables publishing metrics to Amazon
* CloudWatch.</p>
*/
inline bool GetPublishCloudWatchMetricsEnabled() const{ return m_publishCloudWatchMetricsEnabled; }
/**
* <p>Indicates whether this workgroup enables publishing metrics to Amazon
* CloudWatch.</p>
*/
inline bool PublishCloudWatchMetricsEnabledHasBeenSet() const { return m_publishCloudWatchMetricsEnabledHasBeenSet; }
/**
* <p>Indicates whether this workgroup enables publishing metrics to Amazon
* CloudWatch.</p>
*/
inline void SetPublishCloudWatchMetricsEnabled(bool value) { m_publishCloudWatchMetricsEnabledHasBeenSet = true; m_publishCloudWatchMetricsEnabled = value; }
/**
* <p>Indicates whether this workgroup enables publishing metrics to Amazon
* CloudWatch.</p>
*/
inline WorkGroupConfigurationUpdates& WithPublishCloudWatchMetricsEnabled(bool value) { SetPublishCloudWatchMetricsEnabled(value); return *this;}
/**
* <p>The upper limit (cutoff) for the amount of bytes a single query in a
* workgroup is allowed to scan.</p>
*/
inline long long GetBytesScannedCutoffPerQuery() const{ return m_bytesScannedCutoffPerQuery; }
/**
* <p>The upper limit (cutoff) for the amount of bytes a single query in a
* workgroup is allowed to scan.</p>
*/
inline bool BytesScannedCutoffPerQueryHasBeenSet() const { return m_bytesScannedCutoffPerQueryHasBeenSet; }
/**
* <p>The upper limit (cutoff) for the amount of bytes a single query in a
* workgroup is allowed to scan.</p>
*/
inline void SetBytesScannedCutoffPerQuery(long long value) { m_bytesScannedCutoffPerQueryHasBeenSet = true; m_bytesScannedCutoffPerQuery = value; }
/**
* <p>The upper limit (cutoff) for the amount of bytes a single query in a
* workgroup is allowed to scan.</p>
*/
inline WorkGroupConfigurationUpdates& WithBytesScannedCutoffPerQuery(long long value) { SetBytesScannedCutoffPerQuery(value); return *this;}
/**
* <p>Indicates that the data usage control limit per query is removed.
* <a>WorkGroupConfiguration$BytesScannedCutoffPerQuery</a> </p>
*/
inline bool GetRemoveBytesScannedCutoffPerQuery() const{ return m_removeBytesScannedCutoffPerQuery; }
/**
* <p>Indicates that the data usage control limit per query is removed.
* <a>WorkGroupConfiguration$BytesScannedCutoffPerQuery</a> </p>
*/
inline bool RemoveBytesScannedCutoffPerQueryHasBeenSet() const { return m_removeBytesScannedCutoffPerQueryHasBeenSet; }
/**
* <p>Indicates that the data usage control limit per query is removed.
* <a>WorkGroupConfiguration$BytesScannedCutoffPerQuery</a> </p>
*/
inline void SetRemoveBytesScannedCutoffPerQuery(bool value) { m_removeBytesScannedCutoffPerQueryHasBeenSet = true; m_removeBytesScannedCutoffPerQuery = value; }
/**
* <p>Indicates that the data usage control limit per query is removed.
* <a>WorkGroupConfiguration$BytesScannedCutoffPerQuery</a> </p>
*/
inline WorkGroupConfigurationUpdates& WithRemoveBytesScannedCutoffPerQuery(bool value) { SetRemoveBytesScannedCutoffPerQuery(value); return *this;}
/**
* <p>If set to <code>true</code>, allows members assigned to a workgroup to
* specify Amazon S3 Requester Pays buckets in queries. If set to
* <code>false</code>, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an
* error. The default is <code>false</code>. For more information about Requester
* Pays buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
* Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer
* Guide</i>.</p>
*/
inline bool GetRequesterPaysEnabled() const{ return m_requesterPaysEnabled; }
/**
* <p>If set to <code>true</code>, allows members assigned to a workgroup to
* specify Amazon S3 Requester Pays buckets in queries. If set to
* <code>false</code>, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an
* error. The default is <code>false</code>. For more information about Requester
* Pays buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
* Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer
* Guide</i>.</p>
*/
inline bool RequesterPaysEnabledHasBeenSet() const { return m_requesterPaysEnabledHasBeenSet; }
/**
* <p>If set to <code>true</code>, allows members assigned to a workgroup to
* specify Amazon S3 Requester Pays buckets in queries. If set to
* <code>false</code>, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an
* error. The default is <code>false</code>. For more information about Requester
* Pays buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
* Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer
* Guide</i>.</p>
*/
inline void SetRequesterPaysEnabled(bool value) { m_requesterPaysEnabledHasBeenSet = true; m_requesterPaysEnabled = value; }
/**
* <p>If set to <code>true</code>, allows members assigned to a workgroup to
* specify Amazon S3 Requester Pays buckets in queries. If set to
* <code>false</code>, workgroup members cannot query data from Requester Pays
* buckets, and queries that retrieve data from Requester Pays buckets cause an
* error. The default is <code>false</code>. For more information about Requester
* Pays buckets, see <a
* href="https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html">Requester
* Pays Buckets</a> in the <i>Amazon Simple Storage Service Developer
* Guide</i>.</p>
*/
inline WorkGroupConfigurationUpdates& WithRequesterPaysEnabled(bool value) { SetRequesterPaysEnabled(value); return *this;}
private:
bool m_enforceWorkGroupConfiguration;
bool m_enforceWorkGroupConfigurationHasBeenSet;
ResultConfigurationUpdates m_resultConfigurationUpdates;
bool m_resultConfigurationUpdatesHasBeenSet;
bool m_publishCloudWatchMetricsEnabled;
bool m_publishCloudWatchMetricsEnabledHasBeenSet;
long long m_bytesScannedCutoffPerQuery;
bool m_bytesScannedCutoffPerQueryHasBeenSet;
bool m_removeBytesScannedCutoffPerQuery;
bool m_removeBytesScannedCutoffPerQueryHasBeenSet;
bool m_requesterPaysEnabled;
bool m_requesterPaysEnabledHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,31 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace Athena
{
namespace Model
{
enum class WorkGroupState
{
NOT_SET,
ENABLED,
DISABLED
};
namespace WorkGroupStateMapper
{
AWS_ATHENA_API WorkGroupState GetWorkGroupStateForName(const Aws::String& name);
AWS_ATHENA_API Aws::String GetNameForWorkGroupState(WorkGroupState value);
} // namespace WorkGroupStateMapper
} // namespace Model
} // namespace Athena
} // namespace Aws

View File

@@ -0,0 +1,203 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/WorkGroupState.h>
#include <aws/core/utils/DateTime.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace Athena
{
namespace Model
{
/**
* <p>The summary information for the workgroup, which includes its name, state,
* description, and the date and time it was created.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/WorkGroupSummary">AWS
* API Reference</a></p>
*/
class AWS_ATHENA_API WorkGroupSummary
{
public:
WorkGroupSummary();
WorkGroupSummary(Aws::Utils::Json::JsonView jsonValue);
WorkGroupSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The name of the workgroup.</p>
*/
inline const Aws::String& GetName() const{ return m_name; }
/**
* <p>The name of the workgroup.</p>
*/
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
/**
* <p>The name of the workgroup.</p>
*/
inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
/**
* <p>The name of the workgroup.</p>
*/
inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
/**
* <p>The name of the workgroup.</p>
*/
inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
/**
* <p>The name of the workgroup.</p>
*/
inline WorkGroupSummary& WithName(const Aws::String& value) { SetName(value); return *this;}
/**
* <p>The name of the workgroup.</p>
*/
inline WorkGroupSummary& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
/**
* <p>The name of the workgroup.</p>
*/
inline WorkGroupSummary& WithName(const char* value) { SetName(value); return *this;}
/**
* <p>The state of the workgroup.</p>
*/
inline const WorkGroupState& GetState() const{ return m_state; }
/**
* <p>The state of the workgroup.</p>
*/
inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
/**
* <p>The state of the workgroup.</p>
*/
inline void SetState(const WorkGroupState& value) { m_stateHasBeenSet = true; m_state = value; }
/**
* <p>The state of the workgroup.</p>
*/
inline void SetState(WorkGroupState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); }
/**
* <p>The state of the workgroup.</p>
*/
inline WorkGroupSummary& WithState(const WorkGroupState& value) { SetState(value); return *this;}
/**
* <p>The state of the workgroup.</p>
*/
inline WorkGroupSummary& WithState(WorkGroupState&& value) { SetState(std::move(value)); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline const Aws::String& GetDescription() const{ return m_description; }
/**
* <p>The workgroup description.</p>
*/
inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
/**
* <p>The workgroup description.</p>
*/
inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
/**
* <p>The workgroup description.</p>
*/
inline WorkGroupSummary& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline WorkGroupSummary& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
/**
* <p>The workgroup description.</p>
*/
inline WorkGroupSummary& WithDescription(const char* value) { SetDescription(value); return *this;}
/**
* <p>The workgroup creation date and time.</p>
*/
inline const Aws::Utils::DateTime& GetCreationTime() const{ return m_creationTime; }
/**
* <p>The workgroup creation date and time.</p>
*/
inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
/**
* <p>The workgroup creation date and time.</p>
*/
inline void SetCreationTime(const Aws::Utils::DateTime& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; }
/**
* <p>The workgroup creation date and time.</p>
*/
inline void SetCreationTime(Aws::Utils::DateTime&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); }
/**
* <p>The workgroup creation date and time.</p>
*/
inline WorkGroupSummary& WithCreationTime(const Aws::Utils::DateTime& value) { SetCreationTime(value); return *this;}
/**
* <p>The workgroup creation date and time.</p>
*/
inline WorkGroupSummary& WithCreationTime(Aws::Utils::DateTime&& value) { SetCreationTime(std::move(value)); return *this;}
private:
Aws::String m_name;
bool m_nameHasBeenSet;
WorkGroupState m_state;
bool m_stateHasBeenSet;
Aws::String m_description;
bool m_descriptionHasBeenSet;
Aws::Utils::DateTime m_creationTime;
bool m_creationTimeHasBeenSet;
};
} // namespace Model
} // namespace Athena
} // namespace Aws