Skip to content

Commit

Permalink
This release includes API needed to support for Unstructured Data in …
Browse files Browse the repository at this point in the history
…Q in QuickSight Q&A (IDC).

This change adds support for global tables with multi-Region strong consistency (in preview). The UpdateTable API now supports a new attribute MultiRegionConsistency to set consistency when creating global tables. The DescribeTable output now optionally includes the MultiRegionConsistency attribute.
Add support for 11 new plugins as action cards to help automate repetitive tasks and improve productivity.
This release includes(1)Zero-ETL integration to ingest data from 3P SaaS and DynamoDB to Redshift/Redlake (2)new properties on Connections to enable reuse; new connection APIs for retrieve/preview metadata (3)support of CRUD operations for Multi-catalog (4)support of automatic statistics collections
Amazon S3 Tables deliver the first cloud object store with built-in open table format support, and the easiest way to store tabular data at scale.
Added support for Async Invoke Operations Start, List and Get. Support for invocation logs with `requestMetadata` field in Converse, ConverseStream, Invoke and InvokeStream. Video content blocks in Converse/ConverseStream accept raw bytes or S3 URI.
Releasing SDK for Multi-Agent Collaboration.
Add new API operations for Amazon Aurora DSQL. Amazon Aurora DSQL is a serverless, distributed SQL database with virtually unlimited scale, highest availability, and zero infrastructure management.
Adds support for Amazon Redshift RegisterNamespace and DeregisterNamespace APIs to share data to AWS Glue Data Catalog.
Amazon S3 Metadata stores object metadata in read-only, fully managed Apache Iceberg metadata tables that you can query. You can create metadata table configurations for S3 general purpose buckets.
Amazon Q Business now supports customization options for your web experience, 11 new Plugins, and QuickSight support. Amazon Q index allows software providers to enrich their native generative AI experiences with their customer's enterprise knowledge and user context spanning multiple applications.
Releasing SDK for multi agent collaboration
Tagging support for Async Invoke resources. Added support for Distillation in CreateModelCustomizationJob API. Support for videoDataDeliveryEnabled flag in invocation logging.
Add FEDERATED type to CreateDataCatalog. This creates Athena Data Catalog, AWS Lambda connector, and AWS Glue connection. Create/DeleteDataCatalog returns DataCatalog. Add Status, ConnectionType, and Error to DataCatalog and DataCatalogSummary. Add DeleteCatalogOnly to delete Athena Catalog only.
Adds support for the ListManagedWorkgroups API to get an overview of existing managed workgroups.
This release added two new LakeFormation Permissions (CREATE_CATALOG, SUPER_USER) and added Id field for CatalogResource. It also added new conditon and expression field.
Adds support for Connections, ProjectProfiles, and JobRuns APIs. Supports the new Lineage feature at GA. Adjusts optionality of a parameter for DataSource and SubscriptionTarget APIs which may adjust types in some clients.
Support for configuring AiOps investigation as alarm action
aws-sdk-cpp-automation committed Dec 3, 2024
1 parent e7b1ddc commit cf73bbf
Showing 1,161 changed files with 99,098 additions and 2,905 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.11.459
1.11.460
Original file line number Diff line number Diff line change
@@ -242,7 +242,15 @@ namespace Athena
/**
* <p>Creates (registers) a data catalog with the specified name and properties.
* Catalogs created are visible to all users of the same Amazon Web Services
* account.</p><p><h3>See Also:</h3> <a
* account.</p> <p>This API operation creates the following resources.</p> <ul>
* <li> <p>CFN Stack Name with a maximum length of 128 characters and prefix
* <code>athenafederatedcatalog-CATALOG_NAME_SANITIZED</code> with length 23
* characters.</p> </li> <li> <p>Lambda Function Name with a maximum length of 64
* characters and prefix <code>athenafederatedcatalog_CATALOG_NAME_SANITIZED</code>
* with length 23 characters.</p> </li> <li> <p>Glue Connection Name with a maximum
* length of 255 characters and a prefix
* <code>athenafederatedcatalog_CATALOG_NAME_SANITIZED</code> with length 23
* characters. </p> </li> </ul><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreateDataCatalog">AWS
* API Reference</a></p>
*/
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* 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 ConnectionType
{
NOT_SET,
DYNAMODB,
MYSQL,
POSTGRESQL,
REDSHIFT,
ORACLE,
SYNAPSE,
SQLSERVER,
DB2,
OPENSEARCH,
BIGQUERY,
GOOGLECLOUDSTORAGE,
HBASE,
DOCUMENTDB,
CMDB,
TPCDS,
TIMESTREAM,
SAPHANA,
SNOWFLAKE,
DATALAKEGEN2,
DB2AS400
};

namespace ConnectionTypeMapper
{
AWS_ATHENA_API ConnectionType GetConnectionTypeForName(const Aws::String& name);

AWS_ATHENA_API Aws::String GetNameForConnectionType(ConnectionType value);
} // namespace ConnectionTypeMapper
} // namespace Model
} // namespace Athena
} // namespace Aws
Original file line number Diff line number Diff line change
@@ -43,7 +43,16 @@ namespace Model
* <p>The name of the data catalog to create. The catalog name must be unique for
* the Amazon Web Services account and can use a maximum of 127 alphanumeric,
* underscore, at sign, or hyphen characters. The remainder of the length
* constraint of 256 is reserved for use by Athena.</p>
* constraint of 256 is reserved for use by Athena.</p> <p>For
* <code>FEDERATED</code> type the catalog name has following considerations and
* limits:</p> <ul> <li> <p>The catalog name allows special characters such as
* <code>_ , @ , \ , - </code>. These characters are replaced with a hyphen (-)
* when creating the CFN Stack Name and with an underscore (_) when creating the
* Lambda Function and Glue Connection Name.</p> </li> <li> <p>The catalog name has
* a theoretical limit of 128 characters. However, since we use it to create other
* resources that allow less characters and we prepend a prefix to it, the actual
* catalog name limit for <code>FEDERATED</code> catalog is 64 - 23 = 41
* characters.</p> </li> </ul>
*/
inline const Aws::String& GetName() const{ return m_name; }
inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
@@ -58,8 +67,10 @@ namespace Model
///@{
/**
* <p>The type of data catalog to create: <code>LAMBDA</code> for a federated
* catalog, <code>HIVE</code> for an external hive metastore, or <code>GLUE</code>
* for an Glue Data Catalog.</p>
* catalog, <code>GLUE</code> for an Glue Data Catalog, and <code>HIVE</code> for
* an external Apache Hive metastore. <code>FEDERATED</code> is a federated catalog
* for which Athena creates the connection and the Lambda function for you based on
* the parameters that you pass.</p>
*/
inline const DataCatalogType& GetType() const{ return m_type; }
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
@@ -106,7 +117,20 @@ namespace Model
* <code>catalog-id=<i>catalog_id</i> </code> </p> <ul> <li> <p>The
* <code>GLUE</code> data catalog type also applies to the default
* <code>AwsDataCatalog</code> that already exists in your account, of which you
* can have only one and cannot modify.</p> </li> </ul> </li> </ul>
* can have only one and cannot modify.</p> </li> </ul> </li> <li> <p>The
* <code>FEDERATED</code> data catalog type uses one of the following parameters,
* but not both. Use <code>connection-arn</code> for an existing Glue connection.
* Use <code>connection-type</code> and <code>connection-properties</code> to
* specify the configuration setting for a new connection.</p> <ul> <li> <p>
* <code>connection-arn:<i>&lt;glue_connection_arn_to_reuse&gt;</i> </code> </p>
* </li> <li> <p> <code>lambda-role-arn</code> (optional): The execution role to
* use for the Lambda function. If not provided, one is created.</p> </li> <li> <p>
* <code>connection-type:MYSQL|REDSHIFT|....,
* connection-properties:"<i>&lt;json_string&gt;</i>"</code> </p> <p>For <i>
* <code>&lt;json_string&gt;</code> </i>, use escaped JSON text, as in the
* following example.</p> <p>
* <code>"{\"spill_bucket\":\"my_spill\",\"spill_prefix\":\"athena-spill\",\"host\":\"abc12345.snowflakecomputing.com\",\"port\":\"1234\",\"warehouse\":\"DEV_WH\",\"database\":\"TEST\",\"schema\":\"PUBLIC\",\"SecretArn\":\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\"}"</code>
* </p> </li> </ul> </li> </ul>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
@@ -125,8 +149,12 @@ namespace Model

///@{
/**
* <p>A list of comma separated tags to add to the data catalog that is
* created.</p>
* <p>A list of comma separated tags to add to the data catalog that is created.
* All the resources that are created by the <code>CreateDataCatalog</code> API
* operation with <code>FEDERATED</code> type will have the tag
* <code>federated_athena_datacatalog="true"</code>. This includes the CFN Stack,
* Glue Connection, Athena DataCatalog, and all the resources created as part of
* the CFN Stack (Lambda Function, IAM policies/roles).</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@

#pragma once
#include <aws/athena/Athena_EXPORTS.h>
#include <aws/athena/model/DataCatalog.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>

@@ -32,6 +33,15 @@ namespace Model
AWS_ATHENA_API CreateDataCatalogResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);


///@{

inline const DataCatalog& GetDataCatalog() const{ return m_dataCatalog; }
inline void SetDataCatalog(const DataCatalog& value) { m_dataCatalog = value; }
inline void SetDataCatalog(DataCatalog&& value) { m_dataCatalog = std::move(value); }
inline CreateDataCatalogResult& WithDataCatalog(const DataCatalog& value) { SetDataCatalog(value); return *this;}
inline CreateDataCatalogResult& WithDataCatalog(DataCatalog&& value) { SetDataCatalog(std::move(value)); return *this;}
///@}

///@{

inline const Aws::String& GetRequestId() const{ return m_requestId; }
@@ -44,6 +54,8 @@ namespace Model
///@}
private:

DataCatalog m_dataCatalog;

Aws::String m_requestId;
};

Original file line number Diff line number Diff line change
@@ -8,6 +8,8 @@
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/athena/model/DataCatalogType.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/athena/model/DataCatalogStatus.h>
#include <aws/athena/model/ConnectionType.h>
#include <utility>

namespace Aws
@@ -76,8 +78,10 @@ namespace Model
///@{
/**
* <p>The type of data catalog to create: <code>LAMBDA</code> for a federated
* catalog, <code>HIVE</code> for an external hive metastore, or <code>GLUE</code>
* for an Glue Data Catalog.</p>
* catalog, <code>GLUE</code> for an Glue Data Catalog, and <code>HIVE</code> for
* an external Apache Hive metastore. <code>FEDERATED</code> is a federated catalog
* for which Athena creates the connection and the Lambda function for you based on
* the parameters that you pass.</p>
*/
inline const DataCatalogType& GetType() const{ return m_type; }
inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
@@ -110,7 +114,18 @@ namespace Model
* <code>catalog-id=<i>catalog_id</i> </code> </p> <ul> <li> <p>The
* <code>GLUE</code> data catalog type also applies to the default
* <code>AwsDataCatalog</code> that already exists in your account, of which you
* can have only one and cannot modify.</p> </li> </ul> </li> </ul>
* can have only one and cannot modify.</p> </li> </ul> </li> <li> <p>The
* <code>FEDERATED</code> data catalog type uses one of the following parameters,
* but not both. Use <code>connection-arn</code> for an existing Glue connection.
* Use <code>connection-type</code> and <code>connection-properties</code> to
* specify the configuration setting for a new connection.</p> <ul> <li> <p>
* <code>connection-arn:<i>&lt;glue_connection_arn_to_reuse&gt;</i> </code> </p>
* </li> <li> <p> <code>connection-type:MYSQL|REDSHIFT|....,
* connection-properties:"<i>&lt;json_string&gt;</i>"</code> </p> <p>For <i>
* <code>&lt;json_string&gt;</code> </i>, use escaped JSON text, as in the
* following example.</p> <p>
* <code>"{\"spill_bucket\":\"my_spill\",\"spill_prefix\":\"athena-spill\",\"host\":\"abc12345.snowflakecomputing.com\",\"port\":\"1234\",\"warehouse\":\"DEV_WH\",\"database\":\"TEST\",\"schema\":\"PUBLIC\",\"SecretArn\":\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\"}"</code>
* </p> </li> </ul> </li> </ul>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const{ return m_parameters; }
inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
@@ -126,6 +141,66 @@ namespace Model
inline DataCatalog& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; }
inline DataCatalog& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; }
///@}

///@{
/**
* <p>The status of the creation or deletion of the data catalog.</p> <ul> <li>
* <p>The <code>LAMBDA</code>, <code>GLUE</code>, and <code>HIVE</code> data
* catalog types are created synchronously. Their status is either
* <code>CREATE_COMPLETE</code> or <code>CREATE_FAILED</code>.</p> </li> <li>
* <p>The <code>FEDERATED</code> data catalog type is created asynchronously.</p>
* </li> </ul> <p>Data catalog creation status:</p> <ul> <li> <p>
* <code>CREATE_IN_PROGRESS</code>: Federated data catalog creation in
* progress.</p> </li> <li> <p> <code>CREATE_COMPLETE</code>: Data catalog creation
* complete.</p> </li> <li> <p> <code>CREATE_FAILED</code>: Data catalog could not
* be created.</p> </li> <li> <p> <code>CREATE_FAILED_CLEANUP_IN_PROGRESS</code>:
* Federated data catalog creation failed and is being removed.</p> </li> <li> <p>
* <code>CREATE_FAILED_CLEANUP_COMPLETE</code>: Federated data catalog creation
* failed and was removed.</p> </li> <li> <p>
* <code>CREATE_FAILED_CLEANUP_FAILED</code>: Federated data catalog creation
* failed but could not be removed.</p> </li> </ul> <p>Data catalog deletion
* status:</p> <ul> <li> <p> <code>DELETE_IN_PROGRESS</code>: Federated data
* catalog deletion in progress.</p> </li> <li> <p> <code>DELETE_COMPLETE</code>:
* Federated data catalog deleted.</p> </li> <li> <p> <code>DELETE_FAILED</code>:
* Federated data catalog could not be deleted.</p> </li> </ul>
*/
inline const DataCatalogStatus& GetStatus() const{ return m_status; }
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
inline void SetStatus(const DataCatalogStatus& value) { m_statusHasBeenSet = true; m_status = value; }
inline void SetStatus(DataCatalogStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
inline DataCatalog& WithStatus(const DataCatalogStatus& value) { SetStatus(value); return *this;}
inline DataCatalog& WithStatus(DataCatalogStatus&& value) { SetStatus(std::move(value)); return *this;}
///@}

///@{
/**
* <p>The type of connection for a <code>FEDERATED</code> data catalog (for
* example, <code>REDSHIFT</code>, <code>MYSQL</code>, or <code>SQLSERVER</code>).
* For information about individual connectors, see <a
* href="https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html">Available
* data source connectors</a>.</p>
*/
inline const ConnectionType& GetConnectionType() const{ return m_connectionType; }
inline bool ConnectionTypeHasBeenSet() const { return m_connectionTypeHasBeenSet; }
inline void SetConnectionType(const ConnectionType& value) { m_connectionTypeHasBeenSet = true; m_connectionType = value; }
inline void SetConnectionType(ConnectionType&& value) { m_connectionTypeHasBeenSet = true; m_connectionType = std::move(value); }
inline DataCatalog& WithConnectionType(const ConnectionType& value) { SetConnectionType(value); return *this;}
inline DataCatalog& WithConnectionType(ConnectionType&& value) { SetConnectionType(std::move(value)); return *this;}
///@}

///@{
/**
* <p>Text of the error that occurred during data catalog creation or deletion.</p>
*/
inline const Aws::String& GetError() const{ return m_error; }
inline bool ErrorHasBeenSet() const { return m_errorHasBeenSet; }
inline void SetError(const Aws::String& value) { m_errorHasBeenSet = true; m_error = value; }
inline void SetError(Aws::String&& value) { m_errorHasBeenSet = true; m_error = std::move(value); }
inline void SetError(const char* value) { m_errorHasBeenSet = true; m_error.assign(value); }
inline DataCatalog& WithError(const Aws::String& value) { SetError(value); return *this;}
inline DataCatalog& WithError(Aws::String&& value) { SetError(std::move(value)); return *this;}
inline DataCatalog& WithError(const char* value) { SetError(value); return *this;}
///@}
private:

Aws::String m_name;
@@ -139,6 +214,15 @@ namespace Model

Aws::Map<Aws::String, Aws::String> m_parameters;
bool m_parametersHasBeenSet = false;

DataCatalogStatus m_status;
bool m_statusHasBeenSet = false;

ConnectionType m_connectionType;
bool m_connectionTypeHasBeenSet = false;

Aws::String m_error;
bool m_errorHasBeenSet = false;
};

} // namespace Model
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/**
* 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 DataCatalogStatus
{
NOT_SET,
CREATE_IN_PROGRESS,
CREATE_COMPLETE,
CREATE_FAILED,
CREATE_FAILED_CLEANUP_IN_PROGRESS,
CREATE_FAILED_CLEANUP_COMPLETE,
CREATE_FAILED_CLEANUP_FAILED,
DELETE_IN_PROGRESS,
DELETE_COMPLETE,
DELETE_FAILED
};

namespace DataCatalogStatusMapper
{
AWS_ATHENA_API DataCatalogStatus GetDataCatalogStatusForName(const Aws::String& name);

AWS_ATHENA_API Aws::String GetNameForDataCatalogStatus(DataCatalogStatus value);
} // namespace DataCatalogStatusMapper
} // namespace Model
} // namespace Athena
} // namespace Aws
Loading

0 comments on commit cf73bbf

Please sign in to comment.