/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace Aws; using namespace Aws::Auth; using namespace Aws::Client; using namespace Aws::DataExchange; using namespace Aws::DataExchange::Model; using namespace Aws::Http; using namespace Aws::Utils::Json; static const char* SERVICE_NAME = "dataexchange"; static const char* ALLOCATION_TAG = "DataExchangeClient"; DataExchangeClient::DataExchangeClient(const Client::ClientConfiguration& clientConfiguration) : BASECLASS(clientConfiguration, Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG), SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), Aws::MakeShared(ALLOCATION_TAG)), m_executor(clientConfiguration.executor) { init(clientConfiguration); } DataExchangeClient::DataExchangeClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) : BASECLASS(clientConfiguration, Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), Aws::MakeShared(ALLOCATION_TAG)), m_executor(clientConfiguration.executor) { init(clientConfiguration); } DataExchangeClient::DataExchangeClient(const std::shared_ptr& credentialsProvider, const Client::ClientConfiguration& clientConfiguration) : BASECLASS(clientConfiguration, Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), Aws::MakeShared(ALLOCATION_TAG)), m_executor(clientConfiguration.executor) { init(clientConfiguration); } DataExchangeClient::~DataExchangeClient() { } void DataExchangeClient::init(const ClientConfiguration& config) { SetServiceClientName("DataExchange"); m_configScheme = SchemeMapper::ToString(config.scheme); if (config.endpointOverride.empty()) { m_uri = m_configScheme + "://" + DataExchangeEndpoint::ForRegion(config.region, config.useDualStack); } else { OverrideEndpoint(config.endpointOverride); } } void DataExchangeClient::OverrideEndpoint(const Aws::String& endpoint) { if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0) { m_uri = endpoint; } else { m_uri = m_configScheme + "://" + endpoint; } } CancelJobOutcome DataExchangeClient::CancelJob(const CancelJobRequest& request) const { if (!request.JobIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("CancelJob", "Required field: JobId, is not set"); return CancelJobOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/jobs/"; ss << request.GetJobId(); uri.SetPath(uri.GetPath() + ss.str()); return CancelJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); } CancelJobOutcomeCallable DataExchangeClient::CancelJobCallable(const CancelJobRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< CancelJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CancelJob(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::CancelJobAsync(const CancelJobRequest& request, const CancelJobResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->CancelJobAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::CancelJobAsyncHelper(const CancelJobRequest& request, const CancelJobResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, CancelJob(request), context); } CreateDataSetOutcome DataExchangeClient::CreateDataSet(const CreateDataSetRequest& request) const { Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets"; uri.SetPath(uri.GetPath() + ss.str()); return CreateDataSetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); } CreateDataSetOutcomeCallable DataExchangeClient::CreateDataSetCallable(const CreateDataSetRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< CreateDataSetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateDataSet(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::CreateDataSetAsync(const CreateDataSetRequest& request, const CreateDataSetResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->CreateDataSetAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::CreateDataSetAsyncHelper(const CreateDataSetRequest& request, const CreateDataSetResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, CreateDataSet(request), context); } CreateJobOutcome DataExchangeClient::CreateJob(const CreateJobRequest& request) const { Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/jobs"; uri.SetPath(uri.GetPath() + ss.str()); return CreateJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); } CreateJobOutcomeCallable DataExchangeClient::CreateJobCallable(const CreateJobRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< CreateJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateJob(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::CreateJobAsync(const CreateJobRequest& request, const CreateJobResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->CreateJobAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::CreateJobAsyncHelper(const CreateJobRequest& request, const CreateJobResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, CreateJob(request), context); } CreateRevisionOutcome DataExchangeClient::CreateRevision(const CreateRevisionRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("CreateRevision", "Required field: DataSetId, is not set"); return CreateRevisionOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions"; uri.SetPath(uri.GetPath() + ss.str()); return CreateRevisionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); } CreateRevisionOutcomeCallable DataExchangeClient::CreateRevisionCallable(const CreateRevisionRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< CreateRevisionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->CreateRevision(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::CreateRevisionAsync(const CreateRevisionRequest& request, const CreateRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->CreateRevisionAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::CreateRevisionAsyncHelper(const CreateRevisionRequest& request, const CreateRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, CreateRevision(request), context); } DeleteAssetOutcome DataExchangeClient::DeleteAsset(const DeleteAssetRequest& request) const { if (!request.AssetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteAsset", "Required field: AssetId, is not set"); return DeleteAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssetId]", false)); } if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteAsset", "Required field: DataSetId, is not set"); return DeleteAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } if (!request.RevisionIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteAsset", "Required field: RevisionId, is not set"); return DeleteAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RevisionId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions/"; ss << request.GetRevisionId(); ss << "/assets/"; ss << request.GetAssetId(); uri.SetPath(uri.GetPath() + ss.str()); return DeleteAssetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); } DeleteAssetOutcomeCallable DataExchangeClient::DeleteAssetCallable(const DeleteAssetRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< DeleteAssetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteAsset(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::DeleteAssetAsync(const DeleteAssetRequest& request, const DeleteAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->DeleteAssetAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::DeleteAssetAsyncHelper(const DeleteAssetRequest& request, const DeleteAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, DeleteAsset(request), context); } DeleteDataSetOutcome DataExchangeClient::DeleteDataSet(const DeleteDataSetRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteDataSet", "Required field: DataSetId, is not set"); return DeleteDataSetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); uri.SetPath(uri.GetPath() + ss.str()); return DeleteDataSetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); } DeleteDataSetOutcomeCallable DataExchangeClient::DeleteDataSetCallable(const DeleteDataSetRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< DeleteDataSetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteDataSet(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::DeleteDataSetAsync(const DeleteDataSetRequest& request, const DeleteDataSetResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->DeleteDataSetAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::DeleteDataSetAsyncHelper(const DeleteDataSetRequest& request, const DeleteDataSetResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, DeleteDataSet(request), context); } DeleteRevisionOutcome DataExchangeClient::DeleteRevision(const DeleteRevisionRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteRevision", "Required field: DataSetId, is not set"); return DeleteRevisionOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } if (!request.RevisionIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("DeleteRevision", "Required field: RevisionId, is not set"); return DeleteRevisionOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RevisionId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions/"; ss << request.GetRevisionId(); uri.SetPath(uri.GetPath() + ss.str()); return DeleteRevisionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); } DeleteRevisionOutcomeCallable DataExchangeClient::DeleteRevisionCallable(const DeleteRevisionRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< DeleteRevisionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteRevision(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::DeleteRevisionAsync(const DeleteRevisionRequest& request, const DeleteRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->DeleteRevisionAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::DeleteRevisionAsyncHelper(const DeleteRevisionRequest& request, const DeleteRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, DeleteRevision(request), context); } GetAssetOutcome DataExchangeClient::GetAsset(const GetAssetRequest& request) const { if (!request.AssetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetAsset", "Required field: AssetId, is not set"); return GetAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssetId]", false)); } if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetAsset", "Required field: DataSetId, is not set"); return GetAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } if (!request.RevisionIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetAsset", "Required field: RevisionId, is not set"); return GetAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RevisionId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions/"; ss << request.GetRevisionId(); ss << "/assets/"; ss << request.GetAssetId(); uri.SetPath(uri.GetPath() + ss.str()); return GetAssetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } GetAssetOutcomeCallable DataExchangeClient::GetAssetCallable(const GetAssetRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< GetAssetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetAsset(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::GetAssetAsync(const GetAssetRequest& request, const GetAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->GetAssetAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::GetAssetAsyncHelper(const GetAssetRequest& request, const GetAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, GetAsset(request), context); } GetDataSetOutcome DataExchangeClient::GetDataSet(const GetDataSetRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetDataSet", "Required field: DataSetId, is not set"); return GetDataSetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); uri.SetPath(uri.GetPath() + ss.str()); return GetDataSetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } GetDataSetOutcomeCallable DataExchangeClient::GetDataSetCallable(const GetDataSetRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< GetDataSetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetDataSet(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::GetDataSetAsync(const GetDataSetRequest& request, const GetDataSetResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->GetDataSetAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::GetDataSetAsyncHelper(const GetDataSetRequest& request, const GetDataSetResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, GetDataSet(request), context); } GetJobOutcome DataExchangeClient::GetJob(const GetJobRequest& request) const { if (!request.JobIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetJob", "Required field: JobId, is not set"); return GetJobOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/jobs/"; ss << request.GetJobId(); uri.SetPath(uri.GetPath() + ss.str()); return GetJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } GetJobOutcomeCallable DataExchangeClient::GetJobCallable(const GetJobRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< GetJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetJob(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::GetJobAsync(const GetJobRequest& request, const GetJobResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->GetJobAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::GetJobAsyncHelper(const GetJobRequest& request, const GetJobResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, GetJob(request), context); } GetRevisionOutcome DataExchangeClient::GetRevision(const GetRevisionRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetRevision", "Required field: DataSetId, is not set"); return GetRevisionOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } if (!request.RevisionIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("GetRevision", "Required field: RevisionId, is not set"); return GetRevisionOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RevisionId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions/"; ss << request.GetRevisionId(); uri.SetPath(uri.GetPath() + ss.str()); return GetRevisionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } GetRevisionOutcomeCallable DataExchangeClient::GetRevisionCallable(const GetRevisionRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< GetRevisionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetRevision(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::GetRevisionAsync(const GetRevisionRequest& request, const GetRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->GetRevisionAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::GetRevisionAsyncHelper(const GetRevisionRequest& request, const GetRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, GetRevision(request), context); } ListDataSetRevisionsOutcome DataExchangeClient::ListDataSetRevisions(const ListDataSetRevisionsRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("ListDataSetRevisions", "Required field: DataSetId, is not set"); return ListDataSetRevisionsOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions"; uri.SetPath(uri.GetPath() + ss.str()); return ListDataSetRevisionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } ListDataSetRevisionsOutcomeCallable DataExchangeClient::ListDataSetRevisionsCallable(const ListDataSetRevisionsRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< ListDataSetRevisionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDataSetRevisions(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::ListDataSetRevisionsAsync(const ListDataSetRevisionsRequest& request, const ListDataSetRevisionsResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->ListDataSetRevisionsAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::ListDataSetRevisionsAsyncHelper(const ListDataSetRevisionsRequest& request, const ListDataSetRevisionsResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, ListDataSetRevisions(request), context); } ListDataSetsOutcome DataExchangeClient::ListDataSets(const ListDataSetsRequest& request) const { Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets"; uri.SetPath(uri.GetPath() + ss.str()); return ListDataSetsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } ListDataSetsOutcomeCallable DataExchangeClient::ListDataSetsCallable(const ListDataSetsRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< ListDataSetsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDataSets(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::ListDataSetsAsync(const ListDataSetsRequest& request, const ListDataSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->ListDataSetsAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::ListDataSetsAsyncHelper(const ListDataSetsRequest& request, const ListDataSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, ListDataSets(request), context); } ListJobsOutcome DataExchangeClient::ListJobs(const ListJobsRequest& request) const { Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/jobs"; uri.SetPath(uri.GetPath() + ss.str()); return ListJobsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } ListJobsOutcomeCallable DataExchangeClient::ListJobsCallable(const ListJobsRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< ListJobsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListJobs(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::ListJobsAsync(const ListJobsRequest& request, const ListJobsResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->ListJobsAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::ListJobsAsyncHelper(const ListJobsRequest& request, const ListJobsResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, ListJobs(request), context); } ListRevisionAssetsOutcome DataExchangeClient::ListRevisionAssets(const ListRevisionAssetsRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("ListRevisionAssets", "Required field: DataSetId, is not set"); return ListRevisionAssetsOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } if (!request.RevisionIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("ListRevisionAssets", "Required field: RevisionId, is not set"); return ListRevisionAssetsOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RevisionId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions/"; ss << request.GetRevisionId(); ss << "/assets"; uri.SetPath(uri.GetPath() + ss.str()); return ListRevisionAssetsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } ListRevisionAssetsOutcomeCallable DataExchangeClient::ListRevisionAssetsCallable(const ListRevisionAssetsRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< ListRevisionAssetsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListRevisionAssets(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::ListRevisionAssetsAsync(const ListRevisionAssetsRequest& request, const ListRevisionAssetsResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->ListRevisionAssetsAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::ListRevisionAssetsAsyncHelper(const ListRevisionAssetsRequest& request, const ListRevisionAssetsResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, ListRevisionAssets(request), context); } ListTagsForResourceOutcome DataExchangeClient::ListTagsForResource(const ListTagsForResourceRequest& request) const { if (!request.ResourceArnHasBeenSet()) { AWS_LOGSTREAM_ERROR("ListTagsForResource", "Required field: ResourceArn, is not set"); return ListTagsForResourceOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/tags/"; ss << request.GetResourceArn(); uri.SetPath(uri.GetPath() + ss.str()); return ListTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_GET, Aws::Auth::SIGV4_SIGNER)); } ListTagsForResourceOutcomeCallable DataExchangeClient::ListTagsForResourceCallable(const ListTagsForResourceRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResource(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::ListTagsForResourceAsync(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourceAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, ListTagsForResource(request), context); } StartJobOutcome DataExchangeClient::StartJob(const StartJobRequest& request) const { if (!request.JobIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("StartJob", "Required field: JobId, is not set"); return StartJobOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [JobId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/jobs/"; ss << request.GetJobId(); uri.SetPath(uri.GetPath() + ss.str()); return StartJobOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); } StartJobOutcomeCallable DataExchangeClient::StartJobCallable(const StartJobRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< StartJobOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->StartJob(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::StartJobAsync(const StartJobRequest& request, const StartJobResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->StartJobAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::StartJobAsyncHelper(const StartJobRequest& request, const StartJobResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, StartJob(request), context); } TagResourceOutcome DataExchangeClient::TagResource(const TagResourceRequest& request) const { if (!request.ResourceArnHasBeenSet()) { AWS_LOGSTREAM_ERROR("TagResource", "Required field: ResourceArn, is not set"); return TagResourceOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/tags/"; ss << request.GetResourceArn(); uri.SetPath(uri.GetPath() + ss.str()); return TagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST, Aws::Auth::SIGV4_SIGNER)); } TagResourceOutcomeCallable DataExchangeClient::TagResourceCallable(const TagResourceRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< TagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagResource(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::TagResourceAsync(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->TagResourceAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::TagResourceAsyncHelper(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, TagResource(request), context); } UntagResourceOutcome DataExchangeClient::UntagResource(const UntagResourceRequest& request) const { if (!request.ResourceArnHasBeenSet()) { AWS_LOGSTREAM_ERROR("UntagResource", "Required field: ResourceArn, is not set"); return UntagResourceOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [ResourceArn]", false)); } if (!request.TagKeysHasBeenSet()) { AWS_LOGSTREAM_ERROR("UntagResource", "Required field: TagKeys, is not set"); return UntagResourceOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [TagKeys]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/tags/"; ss << request.GetResourceArn(); uri.SetPath(uri.GetPath() + ss.str()); return UntagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_DELETE, Aws::Auth::SIGV4_SIGNER)); } UntagResourceOutcomeCallable DataExchangeClient::UntagResourceCallable(const UntagResourceRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< UntagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagResource(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::UntagResourceAsync(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->UntagResourceAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::UntagResourceAsyncHelper(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, UntagResource(request), context); } UpdateAssetOutcome DataExchangeClient::UpdateAsset(const UpdateAssetRequest& request) const { if (!request.AssetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("UpdateAsset", "Required field: AssetId, is not set"); return UpdateAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [AssetId]", false)); } if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("UpdateAsset", "Required field: DataSetId, is not set"); return UpdateAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } if (!request.RevisionIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("UpdateAsset", "Required field: RevisionId, is not set"); return UpdateAssetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RevisionId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions/"; ss << request.GetRevisionId(); ss << "/assets/"; ss << request.GetAssetId(); uri.SetPath(uri.GetPath() + ss.str()); return UpdateAssetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); } UpdateAssetOutcomeCallable DataExchangeClient::UpdateAssetCallable(const UpdateAssetRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< UpdateAssetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateAsset(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::UpdateAssetAsync(const UpdateAssetRequest& request, const UpdateAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->UpdateAssetAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::UpdateAssetAsyncHelper(const UpdateAssetRequest& request, const UpdateAssetResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, UpdateAsset(request), context); } UpdateDataSetOutcome DataExchangeClient::UpdateDataSet(const UpdateDataSetRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("UpdateDataSet", "Required field: DataSetId, is not set"); return UpdateDataSetOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); uri.SetPath(uri.GetPath() + ss.str()); return UpdateDataSetOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); } UpdateDataSetOutcomeCallable DataExchangeClient::UpdateDataSetCallable(const UpdateDataSetRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< UpdateDataSetOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateDataSet(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::UpdateDataSetAsync(const UpdateDataSetRequest& request, const UpdateDataSetResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->UpdateDataSetAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::UpdateDataSetAsyncHelper(const UpdateDataSetRequest& request, const UpdateDataSetResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, UpdateDataSet(request), context); } UpdateRevisionOutcome DataExchangeClient::UpdateRevision(const UpdateRevisionRequest& request) const { if (!request.DataSetIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("UpdateRevision", "Required field: DataSetId, is not set"); return UpdateRevisionOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [DataSetId]", false)); } if (!request.RevisionIdHasBeenSet()) { AWS_LOGSTREAM_ERROR("UpdateRevision", "Required field: RevisionId, is not set"); return UpdateRevisionOutcome(Aws::Client::AWSError(DataExchangeErrors::MISSING_PARAMETER, "MISSING_PARAMETER", "Missing required field [RevisionId]", false)); } Aws::Http::URI uri = m_uri; Aws::StringStream ss; ss << "/v1/data-sets/"; ss << request.GetDataSetId(); ss << "/revisions/"; ss << request.GetRevisionId(); uri.SetPath(uri.GetPath() + ss.str()); return UpdateRevisionOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_PATCH, Aws::Auth::SIGV4_SIGNER)); } UpdateRevisionOutcomeCallable DataExchangeClient::UpdateRevisionCallable(const UpdateRevisionRequest& request) const { auto task = Aws::MakeShared< std::packaged_task< UpdateRevisionOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UpdateRevision(request); } ); auto packagedFunction = [task]() { (*task)(); }; m_executor->Submit(packagedFunction); return task->get_future(); } void DataExchangeClient::UpdateRevisionAsync(const UpdateRevisionRequest& request, const UpdateRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const { m_executor->Submit( [this, request, handler, context](){ this->UpdateRevisionAsyncHelper( request, handler, context ); } ); } void DataExchangeClient::UpdateRevisionAsyncHelper(const UpdateRevisionRequest& request, const UpdateRevisionResponseReceivedHandler& handler, const std::shared_ptr& context) const { handler(this, request, UpdateRevision(request), context); }