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,223 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsErrors.h>
#include <aws/core/client/AWSError.h>
#include <aws/core/client/ClientConfiguration.h>
#include <aws/core/client/AWSClient.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <aws/marketplacecommerceanalytics/model/GenerateDataSetResult.h>
#include <aws/marketplacecommerceanalytics/model/StartSupportDataExportResult.h>
#include <aws/core/client/AsyncCallerContext.h>
#include <aws/core/http/HttpTypes.h>
#include <future>
#include <functional>
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace MarketplaceCommerceAnalytics
{
namespace Model
{
class GenerateDataSetRequest;
class StartSupportDataExportRequest;
typedef Aws::Utils::Outcome<GenerateDataSetResult, MarketplaceCommerceAnalyticsError> GenerateDataSetOutcome;
typedef Aws::Utils::Outcome<StartSupportDataExportResult, MarketplaceCommerceAnalyticsError> StartSupportDataExportOutcome;
typedef std::future<GenerateDataSetOutcome> GenerateDataSetOutcomeCallable;
typedef std::future<StartSupportDataExportOutcome> StartSupportDataExportOutcomeCallable;
} // namespace Model
class MarketplaceCommerceAnalyticsClient;
typedef std::function<void(const MarketplaceCommerceAnalyticsClient*, const Model::GenerateDataSetRequest&, const Model::GenerateDataSetOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GenerateDataSetResponseReceivedHandler;
typedef std::function<void(const MarketplaceCommerceAnalyticsClient*, const Model::StartSupportDataExportRequest&, const Model::StartSupportDataExportOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartSupportDataExportResponseReceivedHandler;
/**
* Provides AWS Marketplace business intelligence data on-demand.
*/
class AWS_MARKETPLACECOMMERCEANALYTICS_API MarketplaceCommerceAnalyticsClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
MarketplaceCommerceAnalyticsClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
MarketplaceCommerceAnalyticsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
MarketplaceCommerceAnalyticsClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~MarketplaceCommerceAnalyticsClient();
/**
* Given a data set type and data set publication date, asynchronously publishes
* the requested data set to the specified S3 bucket and notifies the specified SNS
* topic once the data is available. Returns a unique request identifier that can
* be used to correlate requests with notifications from the SNS topic. Data sets
* will be published in comma-separated values (CSV) format with the file name
* {data_set_type}_YYYY-MM-DD.csv. If a file with the same name already exists
* (e.g. if the same data set is requested twice), the original file will be
* overwritten by the new file. Requires a Role with an attached permissions policy
* providing Allow permissions for the following actions: s3:PutObject,
* s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish,
* iam:GetRolePolicy.<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/GenerateDataSet">AWS
* API Reference</a></p>
*/
virtual Model::GenerateDataSetOutcome GenerateDataSet(const Model::GenerateDataSetRequest& request) const;
/**
* Given a data set type and data set publication date, asynchronously publishes
* the requested data set to the specified S3 bucket and notifies the specified SNS
* topic once the data is available. Returns a unique request identifier that can
* be used to correlate requests with notifications from the SNS topic. Data sets
* will be published in comma-separated values (CSV) format with the file name
* {data_set_type}_YYYY-MM-DD.csv. If a file with the same name already exists
* (e.g. if the same data set is requested twice), the original file will be
* overwritten by the new file. Requires a Role with an attached permissions policy
* providing Allow permissions for the following actions: s3:PutObject,
* s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish,
* iam:GetRolePolicy.<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/GenerateDataSet">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GenerateDataSetOutcomeCallable GenerateDataSetCallable(const Model::GenerateDataSetRequest& request) const;
/**
* Given a data set type and data set publication date, asynchronously publishes
* the requested data set to the specified S3 bucket and notifies the specified SNS
* topic once the data is available. Returns a unique request identifier that can
* be used to correlate requests with notifications from the SNS topic. Data sets
* will be published in comma-separated values (CSV) format with the file name
* {data_set_type}_YYYY-MM-DD.csv. If a file with the same name already exists
* (e.g. if the same data set is requested twice), the original file will be
* overwritten by the new file. Requires a Role with an attached permissions policy
* providing Allow permissions for the following actions: s3:PutObject,
* s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish,
* iam:GetRolePolicy.<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/GenerateDataSet">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GenerateDataSetAsync(const Model::GenerateDataSetRequest& request, const GenerateDataSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* Given a data set type and a from date, asynchronously publishes the requested
* customer support data to the specified S3 bucket and notifies the specified SNS
* topic once the data is available. Returns a unique request identifier that can
* be used to correlate requests with notifications from the SNS topic. Data sets
* will be published in comma-separated values (CSV) format with the file name
* {data_set_type}_YYYY-MM-DD'T'HH-mm-ss'Z'.csv. If a file with the same name
* already exists (e.g. if the same data set is requested twice), the original file
* will be overwritten by the new file. Requires a Role with an attached
* permissions policy providing Allow permissions for the following actions:
* s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish,
* iam:GetRolePolicy.<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/StartSupportDataExport">AWS
* API Reference</a></p>
*/
virtual Model::StartSupportDataExportOutcome StartSupportDataExport(const Model::StartSupportDataExportRequest& request) const;
/**
* Given a data set type and a from date, asynchronously publishes the requested
* customer support data to the specified S3 bucket and notifies the specified SNS
* topic once the data is available. Returns a unique request identifier that can
* be used to correlate requests with notifications from the SNS topic. Data sets
* will be published in comma-separated values (CSV) format with the file name
* {data_set_type}_YYYY-MM-DD'T'HH-mm-ss'Z'.csv. If a file with the same name
* already exists (e.g. if the same data set is requested twice), the original file
* will be overwritten by the new file. Requires a Role with an attached
* permissions policy providing Allow permissions for the following actions:
* s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish,
* iam:GetRolePolicy.<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/StartSupportDataExport">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StartSupportDataExportOutcomeCallable StartSupportDataExportCallable(const Model::StartSupportDataExportRequest& request) const;
/**
* Given a data set type and a from date, asynchronously publishes the requested
* customer support data to the specified S3 bucket and notifies the specified SNS
* topic once the data is available. Returns a unique request identifier that can
* be used to correlate requests with notifications from the SNS topic. Data sets
* will be published in comma-separated values (CSV) format with the file name
* {data_set_type}_YYYY-MM-DD'T'HH-mm-ss'Z'.csv. If a file with the same name
* already exists (e.g. if the same data set is requested twice), the original file
* will be overwritten by the new file. Requires a Role with an attached
* permissions policy providing Allow permissions for the following actions:
* s3:PutObject, s3:GetBucketLocation, sns:GetTopicAttributes, sns:Publish,
* iam:GetRolePolicy.<p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/StartSupportDataExport">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StartSupportDataExportAsync(const Model::StartSupportDataExportRequest& request, const StartSupportDataExportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void GenerateDataSetAsyncHelper(const Model::GenerateDataSetRequest& request, const GenerateDataSetResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void StartSupportDataExportAsyncHelper(const Model::StartSupportDataExportRequest& request, const StartSupportDataExportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
};
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws

View File

@@ -0,0 +1,21 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
#include <aws/core/Region.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace MarketplaceCommerceAnalytics
{
namespace MarketplaceCommerceAnalyticsEndpoint
{
AWS_MARKETPLACECOMMERCEANALYTICS_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false);
} // namespace MarketplaceCommerceAnalyticsEndpoint
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws

View File

@@ -0,0 +1,23 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_MARKETPLACECOMMERCEANALYTICS_API MarketplaceCommerceAnalyticsErrorMarshaller : public Aws::Client::JsonErrorMarshaller
{
public:
Aws::Client::AWSError<Aws::Client::CoreErrors> FindErrorByName(const char* exceptionName) const override;
};
} // namespace Client
} // namespace Aws

View File

@@ -0,0 +1,72 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/core/client/AWSError.h>
#include <aws/core/client/CoreErrors.h>
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
namespace Aws
{
namespace MarketplaceCommerceAnalytics
{
enum class MarketplaceCommerceAnalyticsErrors
{
//From Core//
//////////////////////////////////////////////////////////////////////////////////////////
INCOMPLETE_SIGNATURE = 0,
INTERNAL_FAILURE = 1,
INVALID_ACTION = 2,
INVALID_CLIENT_TOKEN_ID = 3,
INVALID_PARAMETER_COMBINATION = 4,
INVALID_QUERY_PARAMETER = 5,
INVALID_PARAMETER_VALUE = 6,
MISSING_ACTION = 7, // SDK should never allow
MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
MISSING_PARAMETER = 9, // SDK should never allow
OPT_IN_REQUIRED = 10,
REQUEST_EXPIRED = 11,
SERVICE_UNAVAILABLE = 12,
THROTTLING = 13,
VALIDATION = 14,
ACCESS_DENIED = 15,
RESOURCE_NOT_FOUND = 16,
UNRECOGNIZED_CLIENT = 17,
MALFORMED_QUERY_STRING = 18,
SLOW_DOWN = 19,
REQUEST_TIME_TOO_SKEWED = 20,
INVALID_SIGNATURE = 21,
SIGNATURE_DOES_NOT_MATCH = 22,
INVALID_ACCESS_KEY_ID = 23,
REQUEST_TIMEOUT = 24,
NETWORK_CONNECTION = 99,
UNKNOWN = 100,
///////////////////////////////////////////////////////////////////////////////////////////
MARKETPLACE_COMMERCE_ANALYTICS= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1
};
class AWS_MARKETPLACECOMMERCEANALYTICS_API MarketplaceCommerceAnalyticsError : public Aws::Client::AWSError<MarketplaceCommerceAnalyticsErrors>
{
public:
MarketplaceCommerceAnalyticsError() {}
MarketplaceCommerceAnalyticsError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<MarketplaceCommerceAnalyticsErrors>(rhs) {}
MarketplaceCommerceAnalyticsError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<MarketplaceCommerceAnalyticsErrors>(rhs) {}
MarketplaceCommerceAnalyticsError(const Aws::Client::AWSError<MarketplaceCommerceAnalyticsErrors>& rhs) : Aws::Client::AWSError<MarketplaceCommerceAnalyticsErrors>(rhs) {}
MarketplaceCommerceAnalyticsError(Aws::Client::AWSError<MarketplaceCommerceAnalyticsErrors>&& rhs) : Aws::Client::AWSError<MarketplaceCommerceAnalyticsErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace MarketplaceCommerceAnalyticsErrorMapper
{
AWS_MARKETPLACECOMMERCEANALYTICS_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws

View File

@@ -0,0 +1,42 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
namespace Aws
{
namespace MarketplaceCommerceAnalytics
{
class AWS_MARKETPLACECOMMERCEANALYTICS_API MarketplaceCommerceAnalyticsRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
virtual ~MarketplaceCommerceAnalyticsRequest () {}
void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
inline Aws::Http::HeaderValueCollection GetHeaders() const override
{
auto headers = GetRequestSpecificHeaders();
if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
{
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_JSON_CONTENT_TYPE_1_1 ));
}
headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2015-07-01"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws

View File

@@ -0,0 +1,29 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#ifdef _MSC_VER
//disable windows complaining about max template size.
#pragma warning (disable : 4503)
#endif // _MSC_VER
#if defined (USE_WINDOWS_DLL_SEMANTICS) || defined (_WIN32)
#ifdef _MSC_VER
#pragma warning(disable : 4251)
#endif // _MSC_VER
#ifdef USE_IMPORT_EXPORT
#ifdef AWS_MARKETPLACECOMMERCEANALYTICS_EXPORTS
#define AWS_MARKETPLACECOMMERCEANALYTICS_API __declspec(dllexport)
#else
#define AWS_MARKETPLACECOMMERCEANALYTICS_API __declspec(dllimport)
#endif /* AWS_MARKETPLACECOMMERCEANALYTICS_EXPORTS */
#else
#define AWS_MARKETPLACECOMMERCEANALYTICS_API
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_MARKETPLACECOMMERCEANALYTICS_API
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,54 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace MarketplaceCommerceAnalytics
{
namespace Model
{
enum class DataSetType
{
NOT_SET,
customer_subscriber_hourly_monthly_subscriptions,
customer_subscriber_annual_subscriptions,
daily_business_usage_by_instance_type,
daily_business_fees,
daily_business_free_trial_conversions,
daily_business_new_instances,
daily_business_new_product_subscribers,
daily_business_canceled_product_subscribers,
monthly_revenue_billing_and_revenue_data,
monthly_revenue_annual_subscriptions,
monthly_revenue_field_demonstration_usage,
monthly_revenue_flexible_payment_schedule,
disbursed_amount_by_product,
disbursed_amount_by_product_with_uncollected_funds,
disbursed_amount_by_instance_hours,
disbursed_amount_by_customer_geo,
disbursed_amount_by_age_of_uncollected_funds,
disbursed_amount_by_age_of_disbursed_funds,
disbursed_amount_by_age_of_past_due_funds,
disbursed_amount_by_uncollected_funds_breakdown,
customer_profile_by_industry,
customer_profile_by_revenue,
customer_profile_by_geography,
sales_compensation_billed_revenue,
us_sales_and_use_tax_records
};
namespace DataSetTypeMapper
{
AWS_MARKETPLACECOMMERCEANALYTICS_API DataSetType GetDataSetTypeForName(const Aws::String& name);
AWS_MARKETPLACECOMMERCEANALYTICS_API Aws::String GetNameForDataSetType(DataSetType value);
} // namespace DataSetTypeMapper
} // namespace Model
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws

View File

@@ -0,0 +1,761 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsRequest.h>
#include <aws/marketplacecommerceanalytics/model/DataSetType.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace MarketplaceCommerceAnalytics
{
namespace Model
{
/**
* Container for the parameters to the GenerateDataSet operation.<p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/GenerateDataSetRequest">AWS
* API Reference</a></p>
*/
class AWS_MARKETPLACECOMMERCEANALYTICS_API GenerateDataSetRequest : public MarketplaceCommerceAnalyticsRequest
{
public:
GenerateDataSetRequest();
// 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 "GenerateDataSet"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>The desired data set type.</p> <p> <ul> <li>
* <strong>customer_subscriber_hourly_monthly_subscriptions</strong> <p>From
* 2017-09-15 to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>customer_subscriber_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_usage_by_instance_type</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_fees</strong> <p>From 2017-09-15 to present: Available
* daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_free_trial_conversions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_instances</strong> <p>From 2017-09-15 to present:
* Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_product_subscribers</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_canceled_product_subscribers</strong> <p>From 2017-09-15
* to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>monthly_revenue_billing_and_revenue_data</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior.</p> </li> <li>
* <strong>monthly_revenue_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes up-front software charges (e.g. annual) from one month prior.</p> </li>
* <li> <strong>monthly_revenue_field_demonstration_usage</strong> <p>From
* 2018-03-15 to present: Available monthly on the 15th day of the month by 24:00
* UTC.</p> </li> <li> <strong>monthly_revenue_flexible_payment_schedule</strong>
* <p>From 2018-11-15 to present: Available monthly on the 15th day of the month by
* 24:00 UTC.</p> </li> <li> <strong>disbursed_amount_by_product</strong> <p>From
* 2017-09-15 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_instance_hours</strong> <p>From 2017-09-15 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_customer_geo</strong> <p>From 2017-09-15 to present:
* Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_uncollected_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_disbursed_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_past_due_funds</strong> <p>From 2018-04-07 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_uncollected_funds_breakdown</strong> <p>From
* 2019-10-04 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>sales_compensation_billed_revenue</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior, and up-front
* software charges (e.g. annual) from one month prior.</p> </li> <li>
* <strong>us_sales_and_use_tax_records</strong> <p>From 2017-09-15 to present:
* Available monthly on the 15th day of the month by 24:00 UTC.</p> </li> </ul>
* </p>
*/
inline const DataSetType& GetDataSetType() const{ return m_dataSetType; }
/**
* <p>The desired data set type.</p> <p> <ul> <li>
* <strong>customer_subscriber_hourly_monthly_subscriptions</strong> <p>From
* 2017-09-15 to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>customer_subscriber_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_usage_by_instance_type</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_fees</strong> <p>From 2017-09-15 to present: Available
* daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_free_trial_conversions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_instances</strong> <p>From 2017-09-15 to present:
* Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_product_subscribers</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_canceled_product_subscribers</strong> <p>From 2017-09-15
* to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>monthly_revenue_billing_and_revenue_data</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior.</p> </li> <li>
* <strong>monthly_revenue_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes up-front software charges (e.g. annual) from one month prior.</p> </li>
* <li> <strong>monthly_revenue_field_demonstration_usage</strong> <p>From
* 2018-03-15 to present: Available monthly on the 15th day of the month by 24:00
* UTC.</p> </li> <li> <strong>monthly_revenue_flexible_payment_schedule</strong>
* <p>From 2018-11-15 to present: Available monthly on the 15th day of the month by
* 24:00 UTC.</p> </li> <li> <strong>disbursed_amount_by_product</strong> <p>From
* 2017-09-15 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_instance_hours</strong> <p>From 2017-09-15 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_customer_geo</strong> <p>From 2017-09-15 to present:
* Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_uncollected_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_disbursed_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_past_due_funds</strong> <p>From 2018-04-07 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_uncollected_funds_breakdown</strong> <p>From
* 2019-10-04 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>sales_compensation_billed_revenue</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior, and up-front
* software charges (e.g. annual) from one month prior.</p> </li> <li>
* <strong>us_sales_and_use_tax_records</strong> <p>From 2017-09-15 to present:
* Available monthly on the 15th day of the month by 24:00 UTC.</p> </li> </ul>
* </p>
*/
inline bool DataSetTypeHasBeenSet() const { return m_dataSetTypeHasBeenSet; }
/**
* <p>The desired data set type.</p> <p> <ul> <li>
* <strong>customer_subscriber_hourly_monthly_subscriptions</strong> <p>From
* 2017-09-15 to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>customer_subscriber_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_usage_by_instance_type</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_fees</strong> <p>From 2017-09-15 to present: Available
* daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_free_trial_conversions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_instances</strong> <p>From 2017-09-15 to present:
* Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_product_subscribers</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_canceled_product_subscribers</strong> <p>From 2017-09-15
* to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>monthly_revenue_billing_and_revenue_data</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior.</p> </li> <li>
* <strong>monthly_revenue_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes up-front software charges (e.g. annual) from one month prior.</p> </li>
* <li> <strong>monthly_revenue_field_demonstration_usage</strong> <p>From
* 2018-03-15 to present: Available monthly on the 15th day of the month by 24:00
* UTC.</p> </li> <li> <strong>monthly_revenue_flexible_payment_schedule</strong>
* <p>From 2018-11-15 to present: Available monthly on the 15th day of the month by
* 24:00 UTC.</p> </li> <li> <strong>disbursed_amount_by_product</strong> <p>From
* 2017-09-15 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_instance_hours</strong> <p>From 2017-09-15 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_customer_geo</strong> <p>From 2017-09-15 to present:
* Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_uncollected_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_disbursed_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_past_due_funds</strong> <p>From 2018-04-07 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_uncollected_funds_breakdown</strong> <p>From
* 2019-10-04 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>sales_compensation_billed_revenue</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior, and up-front
* software charges (e.g. annual) from one month prior.</p> </li> <li>
* <strong>us_sales_and_use_tax_records</strong> <p>From 2017-09-15 to present:
* Available monthly on the 15th day of the month by 24:00 UTC.</p> </li> </ul>
* </p>
*/
inline void SetDataSetType(const DataSetType& value) { m_dataSetTypeHasBeenSet = true; m_dataSetType = value; }
/**
* <p>The desired data set type.</p> <p> <ul> <li>
* <strong>customer_subscriber_hourly_monthly_subscriptions</strong> <p>From
* 2017-09-15 to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>customer_subscriber_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_usage_by_instance_type</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_fees</strong> <p>From 2017-09-15 to present: Available
* daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_free_trial_conversions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_instances</strong> <p>From 2017-09-15 to present:
* Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_product_subscribers</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_canceled_product_subscribers</strong> <p>From 2017-09-15
* to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>monthly_revenue_billing_and_revenue_data</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior.</p> </li> <li>
* <strong>monthly_revenue_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes up-front software charges (e.g. annual) from one month prior.</p> </li>
* <li> <strong>monthly_revenue_field_demonstration_usage</strong> <p>From
* 2018-03-15 to present: Available monthly on the 15th day of the month by 24:00
* UTC.</p> </li> <li> <strong>monthly_revenue_flexible_payment_schedule</strong>
* <p>From 2018-11-15 to present: Available monthly on the 15th day of the month by
* 24:00 UTC.</p> </li> <li> <strong>disbursed_amount_by_product</strong> <p>From
* 2017-09-15 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_instance_hours</strong> <p>From 2017-09-15 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_customer_geo</strong> <p>From 2017-09-15 to present:
* Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_uncollected_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_disbursed_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_past_due_funds</strong> <p>From 2018-04-07 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_uncollected_funds_breakdown</strong> <p>From
* 2019-10-04 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>sales_compensation_billed_revenue</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior, and up-front
* software charges (e.g. annual) from one month prior.</p> </li> <li>
* <strong>us_sales_and_use_tax_records</strong> <p>From 2017-09-15 to present:
* Available monthly on the 15th day of the month by 24:00 UTC.</p> </li> </ul>
* </p>
*/
inline void SetDataSetType(DataSetType&& value) { m_dataSetTypeHasBeenSet = true; m_dataSetType = std::move(value); }
/**
* <p>The desired data set type.</p> <p> <ul> <li>
* <strong>customer_subscriber_hourly_monthly_subscriptions</strong> <p>From
* 2017-09-15 to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>customer_subscriber_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_usage_by_instance_type</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_fees</strong> <p>From 2017-09-15 to present: Available
* daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_free_trial_conversions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_instances</strong> <p>From 2017-09-15 to present:
* Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_product_subscribers</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_canceled_product_subscribers</strong> <p>From 2017-09-15
* to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>monthly_revenue_billing_and_revenue_data</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior.</p> </li> <li>
* <strong>monthly_revenue_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes up-front software charges (e.g. annual) from one month prior.</p> </li>
* <li> <strong>monthly_revenue_field_demonstration_usage</strong> <p>From
* 2018-03-15 to present: Available monthly on the 15th day of the month by 24:00
* UTC.</p> </li> <li> <strong>monthly_revenue_flexible_payment_schedule</strong>
* <p>From 2018-11-15 to present: Available monthly on the 15th day of the month by
* 24:00 UTC.</p> </li> <li> <strong>disbursed_amount_by_product</strong> <p>From
* 2017-09-15 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_instance_hours</strong> <p>From 2017-09-15 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_customer_geo</strong> <p>From 2017-09-15 to present:
* Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_uncollected_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_disbursed_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_past_due_funds</strong> <p>From 2018-04-07 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_uncollected_funds_breakdown</strong> <p>From
* 2019-10-04 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>sales_compensation_billed_revenue</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior, and up-front
* software charges (e.g. annual) from one month prior.</p> </li> <li>
* <strong>us_sales_and_use_tax_records</strong> <p>From 2017-09-15 to present:
* Available monthly on the 15th day of the month by 24:00 UTC.</p> </li> </ul>
* </p>
*/
inline GenerateDataSetRequest& WithDataSetType(const DataSetType& value) { SetDataSetType(value); return *this;}
/**
* <p>The desired data set type.</p> <p> <ul> <li>
* <strong>customer_subscriber_hourly_monthly_subscriptions</strong> <p>From
* 2017-09-15 to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>customer_subscriber_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_usage_by_instance_type</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_fees</strong> <p>From 2017-09-15 to present: Available
* daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_free_trial_conversions</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_instances</strong> <p>From 2017-09-15 to present:
* Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_new_product_subscribers</strong> <p>From 2017-09-15 to
* present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>daily_business_canceled_product_subscribers</strong> <p>From 2017-09-15
* to present: Available daily by 24:00 UTC.</p> </li> <li>
* <strong>monthly_revenue_billing_and_revenue_data</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior.</p> </li> <li>
* <strong>monthly_revenue_annual_subscriptions</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes up-front software charges (e.g. annual) from one month prior.</p> </li>
* <li> <strong>monthly_revenue_field_demonstration_usage</strong> <p>From
* 2018-03-15 to present: Available monthly on the 15th day of the month by 24:00
* UTC.</p> </li> <li> <strong>monthly_revenue_flexible_payment_schedule</strong>
* <p>From 2018-11-15 to present: Available monthly on the 15th day of the month by
* 24:00 UTC.</p> </li> <li> <strong>disbursed_amount_by_product</strong> <p>From
* 2017-09-15 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_instance_hours</strong> <p>From 2017-09-15 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_customer_geo</strong> <p>From 2017-09-15 to present:
* Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_uncollected_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_disbursed_funds</strong> <p>From 2017-09-15
* to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_age_of_past_due_funds</strong> <p>From 2018-04-07 to
* present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>disbursed_amount_by_uncollected_funds_breakdown</strong> <p>From
* 2019-10-04 to present: Available every 30 days by 24:00 UTC.</p> </li> <li>
* <strong>sales_compensation_billed_revenue</strong> <p>From 2017-09-15 to
* present: Available monthly on the 15th day of the month by 24:00 UTC. Data
* includes metered transactions (e.g. hourly) from one month prior, and up-front
* software charges (e.g. annual) from one month prior.</p> </li> <li>
* <strong>us_sales_and_use_tax_records</strong> <p>From 2017-09-15 to present:
* Available monthly on the 15th day of the month by 24:00 UTC.</p> </li> </ul>
* </p>
*/
inline GenerateDataSetRequest& WithDataSetType(DataSetType&& value) { SetDataSetType(std::move(value)); return *this;}
/**
* The date a data set was published. For daily data sets, provide a date with
* day-level granularity for the desired day. For monthly data sets except those
* with prefix disbursed_amount, provide a date with month-level granularity for
* the desired month (the day value will be ignored). For data sets with prefix
* disbursed_amount, provide a date with day-level granularity for the desired day.
* For these data sets we will look backwards in time over the range of 31 days
* until the first data set is found (the latest one).
*/
inline const Aws::Utils::DateTime& GetDataSetPublicationDate() const{ return m_dataSetPublicationDate; }
/**
* The date a data set was published. For daily data sets, provide a date with
* day-level granularity for the desired day. For monthly data sets except those
* with prefix disbursed_amount, provide a date with month-level granularity for
* the desired month (the day value will be ignored). For data sets with prefix
* disbursed_amount, provide a date with day-level granularity for the desired day.
* For these data sets we will look backwards in time over the range of 31 days
* until the first data set is found (the latest one).
*/
inline bool DataSetPublicationDateHasBeenSet() const { return m_dataSetPublicationDateHasBeenSet; }
/**
* The date a data set was published. For daily data sets, provide a date with
* day-level granularity for the desired day. For monthly data sets except those
* with prefix disbursed_amount, provide a date with month-level granularity for
* the desired month (the day value will be ignored). For data sets with prefix
* disbursed_amount, provide a date with day-level granularity for the desired day.
* For these data sets we will look backwards in time over the range of 31 days
* until the first data set is found (the latest one).
*/
inline void SetDataSetPublicationDate(const Aws::Utils::DateTime& value) { m_dataSetPublicationDateHasBeenSet = true; m_dataSetPublicationDate = value; }
/**
* The date a data set was published. For daily data sets, provide a date with
* day-level granularity for the desired day. For monthly data sets except those
* with prefix disbursed_amount, provide a date with month-level granularity for
* the desired month (the day value will be ignored). For data sets with prefix
* disbursed_amount, provide a date with day-level granularity for the desired day.
* For these data sets we will look backwards in time over the range of 31 days
* until the first data set is found (the latest one).
*/
inline void SetDataSetPublicationDate(Aws::Utils::DateTime&& value) { m_dataSetPublicationDateHasBeenSet = true; m_dataSetPublicationDate = std::move(value); }
/**
* The date a data set was published. For daily data sets, provide a date with
* day-level granularity for the desired day. For monthly data sets except those
* with prefix disbursed_amount, provide a date with month-level granularity for
* the desired month (the day value will be ignored). For data sets with prefix
* disbursed_amount, provide a date with day-level granularity for the desired day.
* For these data sets we will look backwards in time over the range of 31 days
* until the first data set is found (the latest one).
*/
inline GenerateDataSetRequest& WithDataSetPublicationDate(const Aws::Utils::DateTime& value) { SetDataSetPublicationDate(value); return *this;}
/**
* The date a data set was published. For daily data sets, provide a date with
* day-level granularity for the desired day. For monthly data sets except those
* with prefix disbursed_amount, provide a date with month-level granularity for
* the desired month (the day value will be ignored). For data sets with prefix
* disbursed_amount, provide a date with day-level granularity for the desired day.
* For these data sets we will look backwards in time over the range of 31 days
* until the first data set is found (the latest one).
*/
inline GenerateDataSetRequest& WithDataSetPublicationDate(Aws::Utils::DateTime&& value) { SetDataSetPublicationDate(std::move(value)); return *this;}
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline const Aws::String& GetRoleNameArn() const{ return m_roleNameArn; }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline bool RoleNameArnHasBeenSet() const { return m_roleNameArnHasBeenSet; }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline void SetRoleNameArn(const Aws::String& value) { m_roleNameArnHasBeenSet = true; m_roleNameArn = value; }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline void SetRoleNameArn(Aws::String&& value) { m_roleNameArnHasBeenSet = true; m_roleNameArn = std::move(value); }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline void SetRoleNameArn(const char* value) { m_roleNameArnHasBeenSet = true; m_roleNameArn.assign(value); }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline GenerateDataSetRequest& WithRoleNameArn(const Aws::String& value) { SetRoleNameArn(value); return *this;}
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline GenerateDataSetRequest& WithRoleNameArn(Aws::String&& value) { SetRoleNameArn(std::move(value)); return *this;}
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline GenerateDataSetRequest& WithRoleNameArn(const char* value) { SetRoleNameArn(value); return *this;}
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline const Aws::String& GetDestinationS3BucketName() const{ return m_destinationS3BucketName; }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline bool DestinationS3BucketNameHasBeenSet() const { return m_destinationS3BucketNameHasBeenSet; }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline void SetDestinationS3BucketName(const Aws::String& value) { m_destinationS3BucketNameHasBeenSet = true; m_destinationS3BucketName = value; }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline void SetDestinationS3BucketName(Aws::String&& value) { m_destinationS3BucketNameHasBeenSet = true; m_destinationS3BucketName = std::move(value); }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline void SetDestinationS3BucketName(const char* value) { m_destinationS3BucketNameHasBeenSet = true; m_destinationS3BucketName.assign(value); }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline GenerateDataSetRequest& WithDestinationS3BucketName(const Aws::String& value) { SetDestinationS3BucketName(value); return *this;}
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline GenerateDataSetRequest& WithDestinationS3BucketName(Aws::String&& value) { SetDestinationS3BucketName(std::move(value)); return *this;}
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline GenerateDataSetRequest& WithDestinationS3BucketName(const char* value) { SetDestinationS3BucketName(value); return *this;}
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline const Aws::String& GetDestinationS3Prefix() const{ return m_destinationS3Prefix; }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline bool DestinationS3PrefixHasBeenSet() const { return m_destinationS3PrefixHasBeenSet; }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline void SetDestinationS3Prefix(const Aws::String& value) { m_destinationS3PrefixHasBeenSet = true; m_destinationS3Prefix = value; }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline void SetDestinationS3Prefix(Aws::String&& value) { m_destinationS3PrefixHasBeenSet = true; m_destinationS3Prefix = std::move(value); }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline void SetDestinationS3Prefix(const char* value) { m_destinationS3PrefixHasBeenSet = true; m_destinationS3Prefix.assign(value); }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline GenerateDataSetRequest& WithDestinationS3Prefix(const Aws::String& value) { SetDestinationS3Prefix(value); return *this;}
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline GenerateDataSetRequest& WithDestinationS3Prefix(Aws::String&& value) { SetDestinationS3Prefix(std::move(value)); return *this;}
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline GenerateDataSetRequest& WithDestinationS3Prefix(const char* value) { SetDestinationS3Prefix(value); return *this;}
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline void SetSnsTopicArn(const Aws::String& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = value; }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline void SetSnsTopicArn(Aws::String&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::move(value); }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline void SetSnsTopicArn(const char* value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn.assign(value); }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline GenerateDataSetRequest& WithSnsTopicArn(const Aws::String& value) { SetSnsTopicArn(value); return *this;}
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline GenerateDataSetRequest& WithSnsTopicArn(Aws::String&& value) { SetSnsTopicArn(std::move(value)); return *this;}
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline GenerateDataSetRequest& WithSnsTopicArn(const char* value) { SetSnsTopicArn(value); return *this;}
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline const Aws::Map<Aws::String, Aws::String>& GetCustomerDefinedValues() const{ return m_customerDefinedValues; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline bool CustomerDefinedValuesHasBeenSet() const { return m_customerDefinedValuesHasBeenSet; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline void SetCustomerDefinedValues(const Aws::Map<Aws::String, Aws::String>& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues = value; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline void SetCustomerDefinedValues(Aws::Map<Aws::String, Aws::String>&& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues = std::move(value); }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& WithCustomerDefinedValues(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomerDefinedValues(value); return *this;}
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& WithCustomerDefinedValues(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomerDefinedValues(std::move(value)); return *this;}
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& AddCustomerDefinedValues(const Aws::String& key, const Aws::String& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(key, value); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& AddCustomerDefinedValues(Aws::String&& key, const Aws::String& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(std::move(key), value); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& AddCustomerDefinedValues(const Aws::String& key, Aws::String&& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(key, std::move(value)); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& AddCustomerDefinedValues(Aws::String&& key, Aws::String&& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(std::move(key), std::move(value)); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& AddCustomerDefinedValues(const char* key, Aws::String&& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(key, std::move(value)); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& AddCustomerDefinedValues(Aws::String&& key, const char* value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(std::move(key), value); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file. These key-value pairs can
* be used to correlated responses with tracking information from other systems.
*/
inline GenerateDataSetRequest& AddCustomerDefinedValues(const char* key, const char* value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(key, value); return *this; }
private:
DataSetType m_dataSetType;
bool m_dataSetTypeHasBeenSet;
Aws::Utils::DateTime m_dataSetPublicationDate;
bool m_dataSetPublicationDateHasBeenSet;
Aws::String m_roleNameArn;
bool m_roleNameArnHasBeenSet;
Aws::String m_destinationS3BucketName;
bool m_destinationS3BucketNameHasBeenSet;
Aws::String m_destinationS3Prefix;
bool m_destinationS3PrefixHasBeenSet;
Aws::String m_snsTopicArn;
bool m_snsTopicArnHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_customerDefinedValues;
bool m_customerDefinedValuesHasBeenSet;
};
} // namespace Model
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws

View File

@@ -0,0 +1,97 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_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 MarketplaceCommerceAnalytics
{
namespace Model
{
/**
* Container for the result of the GenerateDataSet operation.<p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/GenerateDataSetResult">AWS
* API Reference</a></p>
*/
class AWS_MARKETPLACECOMMERCEANALYTICS_API GenerateDataSetResult
{
public:
GenerateDataSetResult();
GenerateDataSetResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GenerateDataSetResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* A unique identifier representing a specific request to the GenerateDataSet
* operation. This identifier can be used to correlate a request with notifications
* from the SNS topic.
*/
inline const Aws::String& GetDataSetRequestId() const{ return m_dataSetRequestId; }
/**
* A unique identifier representing a specific request to the GenerateDataSet
* operation. This identifier can be used to correlate a request with notifications
* from the SNS topic.
*/
inline void SetDataSetRequestId(const Aws::String& value) { m_dataSetRequestId = value; }
/**
* A unique identifier representing a specific request to the GenerateDataSet
* operation. This identifier can be used to correlate a request with notifications
* from the SNS topic.
*/
inline void SetDataSetRequestId(Aws::String&& value) { m_dataSetRequestId = std::move(value); }
/**
* A unique identifier representing a specific request to the GenerateDataSet
* operation. This identifier can be used to correlate a request with notifications
* from the SNS topic.
*/
inline void SetDataSetRequestId(const char* value) { m_dataSetRequestId.assign(value); }
/**
* A unique identifier representing a specific request to the GenerateDataSet
* operation. This identifier can be used to correlate a request with notifications
* from the SNS topic.
*/
inline GenerateDataSetResult& WithDataSetRequestId(const Aws::String& value) { SetDataSetRequestId(value); return *this;}
/**
* A unique identifier representing a specific request to the GenerateDataSet
* operation. This identifier can be used to correlate a request with notifications
* from the SNS topic.
*/
inline GenerateDataSetResult& WithDataSetRequestId(Aws::String&& value) { SetDataSetRequestId(std::move(value)); return *this;}
/**
* A unique identifier representing a specific request to the GenerateDataSet
* operation. This identifier can be used to correlate a request with notifications
* from the SNS topic.
*/
inline GenerateDataSetResult& WithDataSetRequestId(const char* value) { SetDataSetRequestId(value); return *this;}
private:
Aws::String m_dataSetRequestId;
};
} // namespace Model
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws

View File

@@ -0,0 +1,502 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsRequest.h>
#include <aws/marketplacecommerceanalytics/model/SupportDataSetType.h>
#include <aws/core/utils/DateTime.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace MarketplaceCommerceAnalytics
{
namespace Model
{
/**
* Container for the parameters to the StartSupportDataExport operation.<p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/StartSupportDataExportRequest">AWS
* API Reference</a></p>
*/
class AWS_MARKETPLACECOMMERCEANALYTICS_API StartSupportDataExportRequest : public MarketplaceCommerceAnalyticsRequest
{
public:
StartSupportDataExportRequest();
// 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 "StartSupportDataExport"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p> Specifies the data set type to be written to the output csv file. The data
* set types customer_support_contacts_data and test_customer_support_contacts_data
* both result in a csv file containing the following fields: Product Id, Product
* Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization,
* AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country
* Code, ZIP Code, Operation Type, and Operation Time. </p> <p> <ul>
* <li><i>customer_support_contacts_data</i> Customer support contact data. The
* data set will contain all changes (Creates, Updates, and Deletes) to customer
* support contact data from the date specified in the from_date parameter.</li>
* <li><i>test_customer_support_contacts_data</i> An example data set containing
* static test data in the same format as customer_support_contacts_data</li> </ul>
* </p>
*/
inline const SupportDataSetType& GetDataSetType() const{ return m_dataSetType; }
/**
* <p> Specifies the data set type to be written to the output csv file. The data
* set types customer_support_contacts_data and test_customer_support_contacts_data
* both result in a csv file containing the following fields: Product Id, Product
* Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization,
* AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country
* Code, ZIP Code, Operation Type, and Operation Time. </p> <p> <ul>
* <li><i>customer_support_contacts_data</i> Customer support contact data. The
* data set will contain all changes (Creates, Updates, and Deletes) to customer
* support contact data from the date specified in the from_date parameter.</li>
* <li><i>test_customer_support_contacts_data</i> An example data set containing
* static test data in the same format as customer_support_contacts_data</li> </ul>
* </p>
*/
inline bool DataSetTypeHasBeenSet() const { return m_dataSetTypeHasBeenSet; }
/**
* <p> Specifies the data set type to be written to the output csv file. The data
* set types customer_support_contacts_data and test_customer_support_contacts_data
* both result in a csv file containing the following fields: Product Id, Product
* Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization,
* AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country
* Code, ZIP Code, Operation Type, and Operation Time. </p> <p> <ul>
* <li><i>customer_support_contacts_data</i> Customer support contact data. The
* data set will contain all changes (Creates, Updates, and Deletes) to customer
* support contact data from the date specified in the from_date parameter.</li>
* <li><i>test_customer_support_contacts_data</i> An example data set containing
* static test data in the same format as customer_support_contacts_data</li> </ul>
* </p>
*/
inline void SetDataSetType(const SupportDataSetType& value) { m_dataSetTypeHasBeenSet = true; m_dataSetType = value; }
/**
* <p> Specifies the data set type to be written to the output csv file. The data
* set types customer_support_contacts_data and test_customer_support_contacts_data
* both result in a csv file containing the following fields: Product Id, Product
* Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization,
* AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country
* Code, ZIP Code, Operation Type, and Operation Time. </p> <p> <ul>
* <li><i>customer_support_contacts_data</i> Customer support contact data. The
* data set will contain all changes (Creates, Updates, and Deletes) to customer
* support contact data from the date specified in the from_date parameter.</li>
* <li><i>test_customer_support_contacts_data</i> An example data set containing
* static test data in the same format as customer_support_contacts_data</li> </ul>
* </p>
*/
inline void SetDataSetType(SupportDataSetType&& value) { m_dataSetTypeHasBeenSet = true; m_dataSetType = std::move(value); }
/**
* <p> Specifies the data set type to be written to the output csv file. The data
* set types customer_support_contacts_data and test_customer_support_contacts_data
* both result in a csv file containing the following fields: Product Id, Product
* Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization,
* AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country
* Code, ZIP Code, Operation Type, and Operation Time. </p> <p> <ul>
* <li><i>customer_support_contacts_data</i> Customer support contact data. The
* data set will contain all changes (Creates, Updates, and Deletes) to customer
* support contact data from the date specified in the from_date parameter.</li>
* <li><i>test_customer_support_contacts_data</i> An example data set containing
* static test data in the same format as customer_support_contacts_data</li> </ul>
* </p>
*/
inline StartSupportDataExportRequest& WithDataSetType(const SupportDataSetType& value) { SetDataSetType(value); return *this;}
/**
* <p> Specifies the data set type to be written to the output csv file. The data
* set types customer_support_contacts_data and test_customer_support_contacts_data
* both result in a csv file containing the following fields: Product Id, Product
* Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization,
* AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country
* Code, ZIP Code, Operation Type, and Operation Time. </p> <p> <ul>
* <li><i>customer_support_contacts_data</i> Customer support contact data. The
* data set will contain all changes (Creates, Updates, and Deletes) to customer
* support contact data from the date specified in the from_date parameter.</li>
* <li><i>test_customer_support_contacts_data</i> An example data set containing
* static test data in the same format as customer_support_contacts_data</li> </ul>
* </p>
*/
inline StartSupportDataExportRequest& WithDataSetType(SupportDataSetType&& value) { SetDataSetType(std::move(value)); return *this;}
/**
* The start date from which to retrieve the data set in UTC. This parameter only
* affects the customer_support_contacts_data data set type.
*/
inline const Aws::Utils::DateTime& GetFromDate() const{ return m_fromDate; }
/**
* The start date from which to retrieve the data set in UTC. This parameter only
* affects the customer_support_contacts_data data set type.
*/
inline bool FromDateHasBeenSet() const { return m_fromDateHasBeenSet; }
/**
* The start date from which to retrieve the data set in UTC. This parameter only
* affects the customer_support_contacts_data data set type.
*/
inline void SetFromDate(const Aws::Utils::DateTime& value) { m_fromDateHasBeenSet = true; m_fromDate = value; }
/**
* The start date from which to retrieve the data set in UTC. This parameter only
* affects the customer_support_contacts_data data set type.
*/
inline void SetFromDate(Aws::Utils::DateTime&& value) { m_fromDateHasBeenSet = true; m_fromDate = std::move(value); }
/**
* The start date from which to retrieve the data set in UTC. This parameter only
* affects the customer_support_contacts_data data set type.
*/
inline StartSupportDataExportRequest& WithFromDate(const Aws::Utils::DateTime& value) { SetFromDate(value); return *this;}
/**
* The start date from which to retrieve the data set in UTC. This parameter only
* affects the customer_support_contacts_data data set type.
*/
inline StartSupportDataExportRequest& WithFromDate(Aws::Utils::DateTime&& value) { SetFromDate(std::move(value)); return *this;}
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline const Aws::String& GetRoleNameArn() const{ return m_roleNameArn; }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline bool RoleNameArnHasBeenSet() const { return m_roleNameArnHasBeenSet; }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline void SetRoleNameArn(const Aws::String& value) { m_roleNameArnHasBeenSet = true; m_roleNameArn = value; }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline void SetRoleNameArn(Aws::String&& value) { m_roleNameArnHasBeenSet = true; m_roleNameArn = std::move(value); }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline void SetRoleNameArn(const char* value) { m_roleNameArnHasBeenSet = true; m_roleNameArn.assign(value); }
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline StartSupportDataExportRequest& WithRoleNameArn(const Aws::String& value) { SetRoleNameArn(value); return *this;}
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline StartSupportDataExportRequest& WithRoleNameArn(Aws::String&& value) { SetRoleNameArn(std::move(value)); return *this;}
/**
* The Amazon Resource Name (ARN) of the Role with an attached permissions policy
* to interact with the provided AWS services.
*/
inline StartSupportDataExportRequest& WithRoleNameArn(const char* value) { SetRoleNameArn(value); return *this;}
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline const Aws::String& GetDestinationS3BucketName() const{ return m_destinationS3BucketName; }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline bool DestinationS3BucketNameHasBeenSet() const { return m_destinationS3BucketNameHasBeenSet; }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline void SetDestinationS3BucketName(const Aws::String& value) { m_destinationS3BucketNameHasBeenSet = true; m_destinationS3BucketName = value; }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline void SetDestinationS3BucketName(Aws::String&& value) { m_destinationS3BucketNameHasBeenSet = true; m_destinationS3BucketName = std::move(value); }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline void SetDestinationS3BucketName(const char* value) { m_destinationS3BucketNameHasBeenSet = true; m_destinationS3BucketName.assign(value); }
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline StartSupportDataExportRequest& WithDestinationS3BucketName(const Aws::String& value) { SetDestinationS3BucketName(value); return *this;}
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline StartSupportDataExportRequest& WithDestinationS3BucketName(Aws::String&& value) { SetDestinationS3BucketName(std::move(value)); return *this;}
/**
* The name (friendly name, not ARN) of the destination S3 bucket.
*/
inline StartSupportDataExportRequest& WithDestinationS3BucketName(const char* value) { SetDestinationS3BucketName(value); return *this;}
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline const Aws::String& GetDestinationS3Prefix() const{ return m_destinationS3Prefix; }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline bool DestinationS3PrefixHasBeenSet() const { return m_destinationS3PrefixHasBeenSet; }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline void SetDestinationS3Prefix(const Aws::String& value) { m_destinationS3PrefixHasBeenSet = true; m_destinationS3Prefix = value; }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline void SetDestinationS3Prefix(Aws::String&& value) { m_destinationS3PrefixHasBeenSet = true; m_destinationS3Prefix = std::move(value); }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline void SetDestinationS3Prefix(const char* value) { m_destinationS3PrefixHasBeenSet = true; m_destinationS3Prefix.assign(value); }
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline StartSupportDataExportRequest& WithDestinationS3Prefix(const Aws::String& value) { SetDestinationS3Prefix(value); return *this;}
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline StartSupportDataExportRequest& WithDestinationS3Prefix(Aws::String&& value) { SetDestinationS3Prefix(std::move(value)); return *this;}
/**
* (Optional) The desired S3 prefix for the published data set, similar to a
* directory path in standard file systems. For example, if given the bucket name
* "mybucket" and the prefix "myprefix/mydatasets", the output file "outputfile"
* would be published to "s3://mybucket/myprefix/mydatasets/outputfile". If the
* prefix directory structure does not exist, it will be created. If no prefix is
* provided, the data set will be published to the S3 bucket root.
*/
inline StartSupportDataExportRequest& WithDestinationS3Prefix(const char* value) { SetDestinationS3Prefix(value); return *this;}
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline const Aws::String& GetSnsTopicArn() const{ return m_snsTopicArn; }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline void SetSnsTopicArn(const Aws::String& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = value; }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline void SetSnsTopicArn(Aws::String&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::move(value); }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline void SetSnsTopicArn(const char* value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn.assign(value); }
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline StartSupportDataExportRequest& WithSnsTopicArn(const Aws::String& value) { SetSnsTopicArn(value); return *this;}
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline StartSupportDataExportRequest& WithSnsTopicArn(Aws::String&& value) { SetSnsTopicArn(std::move(value)); return *this;}
/**
* Amazon Resource Name (ARN) for the SNS Topic that will be notified when the data
* set has been published or if an error has occurred.
*/
inline StartSupportDataExportRequest& WithSnsTopicArn(const char* value) { SetSnsTopicArn(value); return *this;}
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline const Aws::Map<Aws::String, Aws::String>& GetCustomerDefinedValues() const{ return m_customerDefinedValues; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline bool CustomerDefinedValuesHasBeenSet() const { return m_customerDefinedValuesHasBeenSet; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline void SetCustomerDefinedValues(const Aws::Map<Aws::String, Aws::String>& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues = value; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline void SetCustomerDefinedValues(Aws::Map<Aws::String, Aws::String>&& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues = std::move(value); }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& WithCustomerDefinedValues(const Aws::Map<Aws::String, Aws::String>& value) { SetCustomerDefinedValues(value); return *this;}
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& WithCustomerDefinedValues(Aws::Map<Aws::String, Aws::String>&& value) { SetCustomerDefinedValues(std::move(value)); return *this;}
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& AddCustomerDefinedValues(const Aws::String& key, const Aws::String& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(key, value); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& AddCustomerDefinedValues(Aws::String&& key, const Aws::String& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(std::move(key), value); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& AddCustomerDefinedValues(const Aws::String& key, Aws::String&& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(key, std::move(value)); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& AddCustomerDefinedValues(Aws::String&& key, Aws::String&& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(std::move(key), std::move(value)); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& AddCustomerDefinedValues(const char* key, Aws::String&& value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(key, std::move(value)); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& AddCustomerDefinedValues(Aws::String&& key, const char* value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(std::move(key), value); return *this; }
/**
* (Optional) Key-value pairs which will be returned, unmodified, in the Amazon SNS
* notification message and the data set metadata file.
*/
inline StartSupportDataExportRequest& AddCustomerDefinedValues(const char* key, const char* value) { m_customerDefinedValuesHasBeenSet = true; m_customerDefinedValues.emplace(key, value); return *this; }
private:
SupportDataSetType m_dataSetType;
bool m_dataSetTypeHasBeenSet;
Aws::Utils::DateTime m_fromDate;
bool m_fromDateHasBeenSet;
Aws::String m_roleNameArn;
bool m_roleNameArnHasBeenSet;
Aws::String m_destinationS3BucketName;
bool m_destinationS3BucketNameHasBeenSet;
Aws::String m_destinationS3Prefix;
bool m_destinationS3PrefixHasBeenSet;
Aws::String m_snsTopicArn;
bool m_snsTopicArnHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_customerDefinedValues;
bool m_customerDefinedValuesHasBeenSet;
};
} // namespace Model
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws

View File

@@ -0,0 +1,97 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_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 MarketplaceCommerceAnalytics
{
namespace Model
{
/**
* Container for the result of the StartSupportDataExport operation.<p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/marketplacecommerceanalytics-2015-07-01/StartSupportDataExportResult">AWS
* API Reference</a></p>
*/
class AWS_MARKETPLACECOMMERCEANALYTICS_API StartSupportDataExportResult
{
public:
StartSupportDataExportResult();
StartSupportDataExportResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
StartSupportDataExportResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* A unique identifier representing a specific request to the
* StartSupportDataExport operation. This identifier can be used to correlate a
* request with notifications from the SNS topic.
*/
inline const Aws::String& GetDataSetRequestId() const{ return m_dataSetRequestId; }
/**
* A unique identifier representing a specific request to the
* StartSupportDataExport operation. This identifier can be used to correlate a
* request with notifications from the SNS topic.
*/
inline void SetDataSetRequestId(const Aws::String& value) { m_dataSetRequestId = value; }
/**
* A unique identifier representing a specific request to the
* StartSupportDataExport operation. This identifier can be used to correlate a
* request with notifications from the SNS topic.
*/
inline void SetDataSetRequestId(Aws::String&& value) { m_dataSetRequestId = std::move(value); }
/**
* A unique identifier representing a specific request to the
* StartSupportDataExport operation. This identifier can be used to correlate a
* request with notifications from the SNS topic.
*/
inline void SetDataSetRequestId(const char* value) { m_dataSetRequestId.assign(value); }
/**
* A unique identifier representing a specific request to the
* StartSupportDataExport operation. This identifier can be used to correlate a
* request with notifications from the SNS topic.
*/
inline StartSupportDataExportResult& WithDataSetRequestId(const Aws::String& value) { SetDataSetRequestId(value); return *this;}
/**
* A unique identifier representing a specific request to the
* StartSupportDataExport operation. This identifier can be used to correlate a
* request with notifications from the SNS topic.
*/
inline StartSupportDataExportResult& WithDataSetRequestId(Aws::String&& value) { SetDataSetRequestId(std::move(value)); return *this;}
/**
* A unique identifier representing a specific request to the
* StartSupportDataExport operation. This identifier can be used to correlate a
* request with notifications from the SNS topic.
*/
inline StartSupportDataExportResult& WithDataSetRequestId(const char* value) { SetDataSetRequestId(value); return *this;}
private:
Aws::String m_dataSetRequestId;
};
} // namespace Model
} // namespace MarketplaceCommerceAnalytics
} // 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/marketplacecommerceanalytics/MarketplaceCommerceAnalytics_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace MarketplaceCommerceAnalytics
{
namespace Model
{
enum class SupportDataSetType
{
NOT_SET,
customer_support_contacts_data,
test_customer_support_contacts_data
};
namespace SupportDataSetTypeMapper
{
AWS_MARKETPLACECOMMERCEANALYTICS_API SupportDataSetType GetSupportDataSetTypeForName(const Aws::String& name);
AWS_MARKETPLACECOMMERCEANALYTICS_API Aws::String GetNameForSupportDataSetType(SupportDataSetType value);
} // namespace SupportDataSetTypeMapper
} // namespace Model
} // namespace MarketplaceCommerceAnalytics
} // namespace Aws