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,243 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/IoTJobsDataPlaneErrors.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/iot-jobs-data/model/DescribeJobExecutionResult.h>
#include <aws/iot-jobs-data/model/GetPendingJobExecutionsResult.h>
#include <aws/iot-jobs-data/model/StartNextPendingJobExecutionResult.h>
#include <aws/iot-jobs-data/model/UpdateJobExecutionResult.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 IoTJobsDataPlane
{
namespace Model
{
class DescribeJobExecutionRequest;
class GetPendingJobExecutionsRequest;
class StartNextPendingJobExecutionRequest;
class UpdateJobExecutionRequest;
typedef Aws::Utils::Outcome<DescribeJobExecutionResult, IoTJobsDataPlaneError> DescribeJobExecutionOutcome;
typedef Aws::Utils::Outcome<GetPendingJobExecutionsResult, IoTJobsDataPlaneError> GetPendingJobExecutionsOutcome;
typedef Aws::Utils::Outcome<StartNextPendingJobExecutionResult, IoTJobsDataPlaneError> StartNextPendingJobExecutionOutcome;
typedef Aws::Utils::Outcome<UpdateJobExecutionResult, IoTJobsDataPlaneError> UpdateJobExecutionOutcome;
typedef std::future<DescribeJobExecutionOutcome> DescribeJobExecutionOutcomeCallable;
typedef std::future<GetPendingJobExecutionsOutcome> GetPendingJobExecutionsOutcomeCallable;
typedef std::future<StartNextPendingJobExecutionOutcome> StartNextPendingJobExecutionOutcomeCallable;
typedef std::future<UpdateJobExecutionOutcome> UpdateJobExecutionOutcomeCallable;
} // namespace Model
class IoTJobsDataPlaneClient;
typedef std::function<void(const IoTJobsDataPlaneClient*, const Model::DescribeJobExecutionRequest&, const Model::DescribeJobExecutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeJobExecutionResponseReceivedHandler;
typedef std::function<void(const IoTJobsDataPlaneClient*, const Model::GetPendingJobExecutionsRequest&, const Model::GetPendingJobExecutionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetPendingJobExecutionsResponseReceivedHandler;
typedef std::function<void(const IoTJobsDataPlaneClient*, const Model::StartNextPendingJobExecutionRequest&, const Model::StartNextPendingJobExecutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartNextPendingJobExecutionResponseReceivedHandler;
typedef std::function<void(const IoTJobsDataPlaneClient*, const Model::UpdateJobExecutionRequest&, const Model::UpdateJobExecutionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateJobExecutionResponseReceivedHandler;
/**
* <p>AWS IoT Jobs is a service that allows you to define a set of jobs — remote
* operations that are sent to and executed on one or more devices connected to AWS
* IoT. For example, you can define a job that instructs a set of devices to
* download and install application or firmware updates, reboot, rotate
* certificates, or perform remote troubleshooting operations.</p> <p> To create a
* job, you make a job document which is a description of the remote operations to
* be performed, and you specify a list of targets that should perform the
* operations. The targets can be individual things, thing groups or both.</p> <p>
* AWS IoT Jobs sends a message to inform the targets that a job is available. The
* target starts the execution of the job by downloading the job document,
* performing the operations it specifies, and reporting its progress to AWS IoT.
* The Jobs service provides commands to track the progress of a job on a specific
* target and for all the targets of the job</p>
*/
class AWS_IOTJOBSDATAPLANE_API IoTJobsDataPlaneClient : 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.
*/
IoTJobsDataPlaneClient(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.
*/
IoTJobsDataPlaneClient(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
*/
IoTJobsDataPlaneClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~IoTJobsDataPlaneClient();
/**
* <p>Gets details of a job execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/DescribeJobExecution">AWS
* API Reference</a></p>
*/
virtual Model::DescribeJobExecutionOutcome DescribeJobExecution(const Model::DescribeJobExecutionRequest& request) const;
/**
* <p>Gets details of a job execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/DescribeJobExecution">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DescribeJobExecutionOutcomeCallable DescribeJobExecutionCallable(const Model::DescribeJobExecutionRequest& request) const;
/**
* <p>Gets details of a job execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/DescribeJobExecution">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DescribeJobExecutionAsync(const Model::DescribeJobExecutionRequest& request, const DescribeJobExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets the list of all jobs for a thing that are not in a terminal
* status.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/GetPendingJobExecutions">AWS
* API Reference</a></p>
*/
virtual Model::GetPendingJobExecutionsOutcome GetPendingJobExecutions(const Model::GetPendingJobExecutionsRequest& request) const;
/**
* <p>Gets the list of all jobs for a thing that are not in a terminal
* status.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/GetPendingJobExecutions">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetPendingJobExecutionsOutcomeCallable GetPendingJobExecutionsCallable(const Model::GetPendingJobExecutionsRequest& request) const;
/**
* <p>Gets the list of all jobs for a thing that are not in a terminal
* status.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/GetPendingJobExecutions">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetPendingJobExecutionsAsync(const Model::GetPendingJobExecutionsRequest& request, const GetPendingJobExecutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution
* for a thing.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/StartNextPendingJobExecution">AWS
* API Reference</a></p>
*/
virtual Model::StartNextPendingJobExecutionOutcome StartNextPendingJobExecution(const Model::StartNextPendingJobExecutionRequest& request) const;
/**
* <p>Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution
* for a thing.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/StartNextPendingJobExecution">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StartNextPendingJobExecutionOutcomeCallable StartNextPendingJobExecutionCallable(const Model::StartNextPendingJobExecutionRequest& request) const;
/**
* <p>Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution
* for a thing.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/StartNextPendingJobExecution">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StartNextPendingJobExecutionAsync(const Model::StartNextPendingJobExecutionRequest& request, const StartNextPendingJobExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
/**
* <p>Updates the status of a job execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/UpdateJobExecution">AWS
* API Reference</a></p>
*/
virtual Model::UpdateJobExecutionOutcome UpdateJobExecution(const Model::UpdateJobExecutionRequest& request) const;
/**
* <p>Updates the status of a job execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/UpdateJobExecution">AWS
* API Reference</a></p>
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateJobExecutionOutcomeCallable UpdateJobExecutionCallable(const Model::UpdateJobExecutionRequest& request) const;
/**
* <p>Updates the status of a job execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/UpdateJobExecution">AWS
* API Reference</a></p>
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateJobExecutionAsync(const Model::UpdateJobExecutionRequest& request, const UpdateJobExecutionResponseReceivedHandler& 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 DescribeJobExecutionAsyncHelper(const Model::DescribeJobExecutionRequest& request, const DescribeJobExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void GetPendingJobExecutionsAsyncHelper(const Model::GetPendingJobExecutionsRequest& request, const GetPendingJobExecutionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void StartNextPendingJobExecutionAsyncHelper(const Model::StartNextPendingJobExecutionRequest& request, const StartNextPendingJobExecutionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
void UpdateJobExecutionAsyncHelper(const Model::UpdateJobExecutionRequest& request, const UpdateJobExecutionResponseReceivedHandler& 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 IoTJobsDataPlane
} // 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/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/core/Region.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace IoTJobsDataPlane
{
namespace IoTJobsDataPlaneEndpoint
{
AWS_IOTJOBSDATAPLANE_API Aws::String ForRegion(const Aws::String& regionName, bool useDualStack = false);
} // namespace IoTJobsDataPlaneEndpoint
} // namespace IoTJobsDataPlane
} // 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/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/core/client/AWSErrorMarshaller.h>
namespace Aws
{
namespace Client
{
class AWS_IOTJOBSDATAPLANE_API IoTJobsDataPlaneErrorMarshaller : 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,75 @@
/**
* 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/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
namespace Aws
{
namespace IoTJobsDataPlane
{
enum class IoTJobsDataPlaneErrors
{
//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,
///////////////////////////////////////////////////////////////////////////////////////////
CERTIFICATE_VALIDATION= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
INVALID_REQUEST,
INVALID_STATE_TRANSITION,
TERMINAL_STATE
};
class AWS_IOTJOBSDATAPLANE_API IoTJobsDataPlaneError : public Aws::Client::AWSError<IoTJobsDataPlaneErrors>
{
public:
IoTJobsDataPlaneError() {}
IoTJobsDataPlaneError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<IoTJobsDataPlaneErrors>(rhs) {}
IoTJobsDataPlaneError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<IoTJobsDataPlaneErrors>(rhs) {}
IoTJobsDataPlaneError(const Aws::Client::AWSError<IoTJobsDataPlaneErrors>& rhs) : Aws::Client::AWSError<IoTJobsDataPlaneErrors>(rhs) {}
IoTJobsDataPlaneError(Aws::Client::AWSError<IoTJobsDataPlaneErrors>&& rhs) : Aws::Client::AWSError<IoTJobsDataPlaneErrors>(rhs) {}
template <typename T>
T GetModeledError();
};
namespace IoTJobsDataPlaneErrorMapper
{
AWS_IOTJOBSDATAPLANE_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
}
} // namespace IoTJobsDataPlane
} // 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/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/core/AmazonSerializableWebServiceRequest.h>
#include <aws/core/utils/UnreferencedParam.h>
#include <aws/core/http/HttpRequest.h>
namespace Aws
{
namespace IoTJobsDataPlane
{
class AWS_IOTJOBSDATAPLANE_API IoTJobsDataPlaneRequest : public Aws::AmazonSerializableWebServiceRequest
{
public:
virtual ~IoTJobsDataPlaneRequest () {}
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, "2017-09-29"));
return headers;
}
protected:
virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
};
} // namespace IoTJobsDataPlane
} // 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_IOTJOBSDATAPLANE_EXPORTS
#define AWS_IOTJOBSDATAPLANE_API __declspec(dllexport)
#else
#define AWS_IOTJOBSDATAPLANE_API __declspec(dllimport)
#endif /* AWS_IOTJOBSDATAPLANE_EXPORTS */
#else
#define AWS_IOTJOBSDATAPLANE_API
#endif // USE_IMPORT_EXPORT
#else // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)
#define AWS_IOTJOBSDATAPLANE_API
#endif // defined (USE_WINDOWS_DLL_SEMANTICS) || defined (WIN32)

View File

@@ -0,0 +1,197 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/IoTJobsDataPlaneRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Http
{
class URI;
} //namespace Http
namespace IoTJobsDataPlane
{
namespace Model
{
/**
*/
class AWS_IOTJOBSDATAPLANE_API DescribeJobExecutionRequest : public IoTJobsDataPlaneRequest
{
public:
DescribeJobExecutionRequest();
// 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 "DescribeJobExecution"; }
Aws::String SerializePayload() const override;
void AddQueryStringParameters(Aws::Http::URI& uri) const override;
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline DescribeJobExecutionRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline DescribeJobExecutionRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline DescribeJobExecutionRequest& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>The thing name associated with the device the job execution is running
* on.</p>
*/
inline const Aws::String& GetThingName() const{ return m_thingName; }
/**
* <p>The thing name associated with the device the job execution is running
* on.</p>
*/
inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
/**
* <p>The thing name associated with the device the job execution is running
* on.</p>
*/
inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; }
/**
* <p>The thing name associated with the device the job execution is running
* on.</p>
*/
inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); }
/**
* <p>The thing name associated with the device the job execution is running
* on.</p>
*/
inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); }
/**
* <p>The thing name associated with the device the job execution is running
* on.</p>
*/
inline DescribeJobExecutionRequest& WithThingName(const Aws::String& value) { SetThingName(value); return *this;}
/**
* <p>The thing name associated with the device the job execution is running
* on.</p>
*/
inline DescribeJobExecutionRequest& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;}
/**
* <p>The thing name associated with the device the job execution is running
* on.</p>
*/
inline DescribeJobExecutionRequest& WithThingName(const char* value) { SetThingName(value); return *this;}
/**
* <p>Optional. When set to true, the response contains the job document. The
* default is false.</p>
*/
inline bool GetIncludeJobDocument() const{ return m_includeJobDocument; }
/**
* <p>Optional. When set to true, the response contains the job document. The
* default is false.</p>
*/
inline bool IncludeJobDocumentHasBeenSet() const { return m_includeJobDocumentHasBeenSet; }
/**
* <p>Optional. When set to true, the response contains the job document. The
* default is false.</p>
*/
inline void SetIncludeJobDocument(bool value) { m_includeJobDocumentHasBeenSet = true; m_includeJobDocument = value; }
/**
* <p>Optional. When set to true, the response contains the job document. The
* default is false.</p>
*/
inline DescribeJobExecutionRequest& WithIncludeJobDocument(bool value) { SetIncludeJobDocument(value); return *this;}
/**
* <p>Optional. A number that identifies a particular job execution on a particular
* device. If not specified, the latest job execution is returned.</p>
*/
inline long long GetExecutionNumber() const{ return m_executionNumber; }
/**
* <p>Optional. A number that identifies a particular job execution on a particular
* device. If not specified, the latest job execution is returned.</p>
*/
inline bool ExecutionNumberHasBeenSet() const { return m_executionNumberHasBeenSet; }
/**
* <p>Optional. A number that identifies a particular job execution on a particular
* device. If not specified, the latest job execution is returned.</p>
*/
inline void SetExecutionNumber(long long value) { m_executionNumberHasBeenSet = true; m_executionNumber = value; }
/**
* <p>Optional. A number that identifies a particular job execution on a particular
* device. If not specified, the latest job execution is returned.</p>
*/
inline DescribeJobExecutionRequest& WithExecutionNumber(long long value) { SetExecutionNumber(value); return *this;}
private:
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
Aws::String m_thingName;
bool m_thingNameHasBeenSet;
bool m_includeJobDocument;
bool m_includeJobDocumentHasBeenSet;
long long m_executionNumber;
bool m_executionNumberHasBeenSet;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/model/JobExecution.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTJobsDataPlane
{
namespace Model
{
class AWS_IOTJOBSDATAPLANE_API DescribeJobExecutionResult
{
public:
DescribeJobExecutionResult();
DescribeJobExecutionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
DescribeJobExecutionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>Contains data about a job execution.</p>
*/
inline const JobExecution& GetExecution() const{ return m_execution; }
/**
* <p>Contains data about a job execution.</p>
*/
inline void SetExecution(const JobExecution& value) { m_execution = value; }
/**
* <p>Contains data about a job execution.</p>
*/
inline void SetExecution(JobExecution&& value) { m_execution = std::move(value); }
/**
* <p>Contains data about a job execution.</p>
*/
inline DescribeJobExecutionResult& WithExecution(const JobExecution& value) { SetExecution(value); return *this;}
/**
* <p>Contains data about a job execution.</p>
*/
inline DescribeJobExecutionResult& WithExecution(JobExecution&& value) { SetExecution(std::move(value)); return *this;}
private:
JobExecution m_execution;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,83 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/IoTJobsDataPlaneRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace IoTJobsDataPlane
{
namespace Model
{
/**
*/
class AWS_IOTJOBSDATAPLANE_API GetPendingJobExecutionsRequest : public IoTJobsDataPlaneRequest
{
public:
GetPendingJobExecutionsRequest();
// 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 "GetPendingJobExecutions"; }
Aws::String SerializePayload() const override;
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline const Aws::String& GetThingName() const{ return m_thingName; }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline GetPendingJobExecutionsRequest& WithThingName(const Aws::String& value) { SetThingName(value); return *this;}
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline GetPendingJobExecutionsRequest& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;}
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline GetPendingJobExecutionsRequest& WithThingName(const char* value) { SetThingName(value); return *this;}
private:
Aws::String m_thingName;
bool m_thingNameHasBeenSet;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,116 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/iot-jobs-data/model/JobExecutionSummary.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTJobsDataPlane
{
namespace Model
{
class AWS_IOTJOBSDATAPLANE_API GetPendingJobExecutionsResult
{
public:
GetPendingJobExecutionsResult();
GetPendingJobExecutionsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
GetPendingJobExecutionsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A list of JobExecutionSummary objects with status IN_PROGRESS.</p>
*/
inline const Aws::Vector<JobExecutionSummary>& GetInProgressJobs() const{ return m_inProgressJobs; }
/**
* <p>A list of JobExecutionSummary objects with status IN_PROGRESS.</p>
*/
inline void SetInProgressJobs(const Aws::Vector<JobExecutionSummary>& value) { m_inProgressJobs = value; }
/**
* <p>A list of JobExecutionSummary objects with status IN_PROGRESS.</p>
*/
inline void SetInProgressJobs(Aws::Vector<JobExecutionSummary>&& value) { m_inProgressJobs = std::move(value); }
/**
* <p>A list of JobExecutionSummary objects with status IN_PROGRESS.</p>
*/
inline GetPendingJobExecutionsResult& WithInProgressJobs(const Aws::Vector<JobExecutionSummary>& value) { SetInProgressJobs(value); return *this;}
/**
* <p>A list of JobExecutionSummary objects with status IN_PROGRESS.</p>
*/
inline GetPendingJobExecutionsResult& WithInProgressJobs(Aws::Vector<JobExecutionSummary>&& value) { SetInProgressJobs(std::move(value)); return *this;}
/**
* <p>A list of JobExecutionSummary objects with status IN_PROGRESS.</p>
*/
inline GetPendingJobExecutionsResult& AddInProgressJobs(const JobExecutionSummary& value) { m_inProgressJobs.push_back(value); return *this; }
/**
* <p>A list of JobExecutionSummary objects with status IN_PROGRESS.</p>
*/
inline GetPendingJobExecutionsResult& AddInProgressJobs(JobExecutionSummary&& value) { m_inProgressJobs.push_back(std::move(value)); return *this; }
/**
* <p>A list of JobExecutionSummary objects with status QUEUED.</p>
*/
inline const Aws::Vector<JobExecutionSummary>& GetQueuedJobs() const{ return m_queuedJobs; }
/**
* <p>A list of JobExecutionSummary objects with status QUEUED.</p>
*/
inline void SetQueuedJobs(const Aws::Vector<JobExecutionSummary>& value) { m_queuedJobs = value; }
/**
* <p>A list of JobExecutionSummary objects with status QUEUED.</p>
*/
inline void SetQueuedJobs(Aws::Vector<JobExecutionSummary>&& value) { m_queuedJobs = std::move(value); }
/**
* <p>A list of JobExecutionSummary objects with status QUEUED.</p>
*/
inline GetPendingJobExecutionsResult& WithQueuedJobs(const Aws::Vector<JobExecutionSummary>& value) { SetQueuedJobs(value); return *this;}
/**
* <p>A list of JobExecutionSummary objects with status QUEUED.</p>
*/
inline GetPendingJobExecutionsResult& WithQueuedJobs(Aws::Vector<JobExecutionSummary>&& value) { SetQueuedJobs(std::move(value)); return *this;}
/**
* <p>A list of JobExecutionSummary objects with status QUEUED.</p>
*/
inline GetPendingJobExecutionsResult& AddQueuedJobs(const JobExecutionSummary& value) { m_queuedJobs.push_back(value); return *this; }
/**
* <p>A list of JobExecutionSummary objects with status QUEUED.</p>
*/
inline GetPendingJobExecutionsResult& AddQueuedJobs(JobExecutionSummary&& value) { m_queuedJobs.push_back(std::move(value)); return *this; }
private:
Aws::Vector<JobExecutionSummary> m_inProgressJobs;
Aws::Vector<JobExecutionSummary> m_queuedJobs;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,472 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/iot-jobs-data/model/JobExecutionStatus.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTJobsDataPlane
{
namespace Model
{
/**
* <p>Contains data about a job execution.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/JobExecution">AWS
* API Reference</a></p>
*/
class AWS_IOTJOBSDATAPLANE_API JobExecution
{
public:
JobExecution();
JobExecution(Aws::Utils::Json::JsonView jsonValue);
JobExecution& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline JobExecution& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline JobExecution& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline JobExecution& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline const Aws::String& GetThingName() const{ return m_thingName; }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); }
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline JobExecution& WithThingName(const Aws::String& value) { SetThingName(value); return *this;}
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline JobExecution& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;}
/**
* <p>The name of the thing that is executing the job.</p>
*/
inline JobExecution& WithThingName(const char* value) { SetThingName(value); return *this;}
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline const JobExecutionStatus& GetStatus() const{ return m_status; }
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline void SetStatus(const JobExecutionStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline void SetStatus(JobExecutionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline JobExecution& WithStatus(const JobExecutionStatus& value) { SetStatus(value); return *this;}
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline JobExecution& WithStatus(JobExecutionStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetStatusDetails() const{ return m_statusDetails; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline void SetStatusDetails(const Aws::Map<Aws::String, Aws::String>& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline void SetStatusDetails(Aws::Map<Aws::String, Aws::String>&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& WithStatusDetails(const Aws::Map<Aws::String, Aws::String>& value) { SetStatusDetails(value); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& WithStatusDetails(Aws::Map<Aws::String, Aws::String>&& value) { SetStatusDetails(std::move(value)); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& AddStatusDetails(const Aws::String& key, const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& AddStatusDetails(Aws::String&& key, const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& AddStatusDetails(const Aws::String& key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& AddStatusDetails(Aws::String&& key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& AddStatusDetails(const char* key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& AddStatusDetails(Aws::String&& key, const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecution& AddStatusDetails(const char* key, const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, value); return *this; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* enqueued.</p>
*/
inline long long GetQueuedAt() const{ return m_queuedAt; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* enqueued.</p>
*/
inline bool QueuedAtHasBeenSet() const { return m_queuedAtHasBeenSet; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* enqueued.</p>
*/
inline void SetQueuedAt(long long value) { m_queuedAtHasBeenSet = true; m_queuedAt = value; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* enqueued.</p>
*/
inline JobExecution& WithQueuedAt(long long value) { SetQueuedAt(value); return *this;}
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* started.</p>
*/
inline long long GetStartedAt() const{ return m_startedAt; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* started.</p>
*/
inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* started.</p>
*/
inline void SetStartedAt(long long value) { m_startedAtHasBeenSet = true; m_startedAt = value; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* started.</p>
*/
inline JobExecution& WithStartedAt(long long value) { SetStartedAt(value); return *this;}
/**
* <p>The time, in milliseconds since the epoch, when the job execution was last
* updated. </p>
*/
inline long long GetLastUpdatedAt() const{ return m_lastUpdatedAt; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was last
* updated. </p>
*/
inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was last
* updated. </p>
*/
inline void SetLastUpdatedAt(long long value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was last
* updated. </p>
*/
inline JobExecution& WithLastUpdatedAt(long long value) { SetLastUpdatedAt(value); return *this;}
/**
* <p>The estimated number of seconds that remain before the job execution status
* will be changed to <code>TIMED_OUT</code>.</p>
*/
inline long long GetApproximateSecondsBeforeTimedOut() const{ return m_approximateSecondsBeforeTimedOut; }
/**
* <p>The estimated number of seconds that remain before the job execution status
* will be changed to <code>TIMED_OUT</code>.</p>
*/
inline bool ApproximateSecondsBeforeTimedOutHasBeenSet() const { return m_approximateSecondsBeforeTimedOutHasBeenSet; }
/**
* <p>The estimated number of seconds that remain before the job execution status
* will be changed to <code>TIMED_OUT</code>.</p>
*/
inline void SetApproximateSecondsBeforeTimedOut(long long value) { m_approximateSecondsBeforeTimedOutHasBeenSet = true; m_approximateSecondsBeforeTimedOut = value; }
/**
* <p>The estimated number of seconds that remain before the job execution status
* will be changed to <code>TIMED_OUT</code>.</p>
*/
inline JobExecution& WithApproximateSecondsBeforeTimedOut(long long value) { SetApproximateSecondsBeforeTimedOut(value); return *this;}
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time they are updated by a device.</p>
*/
inline long long GetVersionNumber() const{ return m_versionNumber; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time they are updated by a device.</p>
*/
inline bool VersionNumberHasBeenSet() const { return m_versionNumberHasBeenSet; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time they are updated by a device.</p>
*/
inline void SetVersionNumber(long long value) { m_versionNumberHasBeenSet = true; m_versionNumber = value; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time they are updated by a device.</p>
*/
inline JobExecution& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;}
/**
* <p>A number that identifies a particular job execution on a particular device.
* It can be used later in commands that return or update job execution
* information.</p>
*/
inline long long GetExecutionNumber() const{ return m_executionNumber; }
/**
* <p>A number that identifies a particular job execution on a particular device.
* It can be used later in commands that return or update job execution
* information.</p>
*/
inline bool ExecutionNumberHasBeenSet() const { return m_executionNumberHasBeenSet; }
/**
* <p>A number that identifies a particular job execution on a particular device.
* It can be used later in commands that return or update job execution
* information.</p>
*/
inline void SetExecutionNumber(long long value) { m_executionNumberHasBeenSet = true; m_executionNumber = value; }
/**
* <p>A number that identifies a particular job execution on a particular device.
* It can be used later in commands that return or update job execution
* information.</p>
*/
inline JobExecution& WithExecutionNumber(long long value) { SetExecutionNumber(value); return *this;}
/**
* <p>The content of the job document.</p>
*/
inline const Aws::String& GetJobDocument() const{ return m_jobDocument; }
/**
* <p>The content of the job document.</p>
*/
inline bool JobDocumentHasBeenSet() const { return m_jobDocumentHasBeenSet; }
/**
* <p>The content of the job document.</p>
*/
inline void SetJobDocument(const Aws::String& value) { m_jobDocumentHasBeenSet = true; m_jobDocument = value; }
/**
* <p>The content of the job document.</p>
*/
inline void SetJobDocument(Aws::String&& value) { m_jobDocumentHasBeenSet = true; m_jobDocument = std::move(value); }
/**
* <p>The content of the job document.</p>
*/
inline void SetJobDocument(const char* value) { m_jobDocumentHasBeenSet = true; m_jobDocument.assign(value); }
/**
* <p>The content of the job document.</p>
*/
inline JobExecution& WithJobDocument(const Aws::String& value) { SetJobDocument(value); return *this;}
/**
* <p>The content of the job document.</p>
*/
inline JobExecution& WithJobDocument(Aws::String&& value) { SetJobDocument(std::move(value)); return *this;}
/**
* <p>The content of the job document.</p>
*/
inline JobExecution& WithJobDocument(const char* value) { SetJobDocument(value); return *this;}
private:
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
Aws::String m_thingName;
bool m_thingNameHasBeenSet;
JobExecutionStatus m_status;
bool m_statusHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_statusDetails;
bool m_statusDetailsHasBeenSet;
long long m_queuedAt;
bool m_queuedAtHasBeenSet;
long long m_startedAt;
bool m_startedAtHasBeenSet;
long long m_lastUpdatedAt;
bool m_lastUpdatedAtHasBeenSet;
long long m_approximateSecondsBeforeTimedOut;
bool m_approximateSecondsBeforeTimedOutHasBeenSet;
long long m_versionNumber;
bool m_versionNumberHasBeenSet;
long long m_executionNumber;
bool m_executionNumberHasBeenSet;
Aws::String m_jobDocument;
bool m_jobDocumentHasBeenSet;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,197 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/model/JobExecutionStatus.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTJobsDataPlane
{
namespace Model
{
/**
* <p>Contains data about the state of a job execution.</p><p><h3>See Also:</h3>
* <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/JobExecutionState">AWS
* API Reference</a></p>
*/
class AWS_IOTJOBSDATAPLANE_API JobExecutionState
{
public:
JobExecutionState();
JobExecutionState(Aws::Utils::Json::JsonView jsonValue);
JobExecutionState& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline const JobExecutionStatus& GetStatus() const{ return m_status; }
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline void SetStatus(const JobExecutionStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline void SetStatus(JobExecutionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline JobExecutionState& WithStatus(const JobExecutionStatus& value) { SetStatus(value); return *this;}
/**
* <p>The status of the job execution. Can be one of: "QUEUED", "IN_PROGRESS",
* "FAILED", "SUCCESS", "CANCELED", "REJECTED", or "REMOVED".</p>
*/
inline JobExecutionState& WithStatus(JobExecutionStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetStatusDetails() const{ return m_statusDetails; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline void SetStatusDetails(const Aws::Map<Aws::String, Aws::String>& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline void SetStatusDetails(Aws::Map<Aws::String, Aws::String>&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& WithStatusDetails(const Aws::Map<Aws::String, Aws::String>& value) { SetStatusDetails(value); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& WithStatusDetails(Aws::Map<Aws::String, Aws::String>&& value) { SetStatusDetails(std::move(value)); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& AddStatusDetails(const Aws::String& key, const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& AddStatusDetails(Aws::String&& key, const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& AddStatusDetails(const Aws::String& key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& AddStatusDetails(Aws::String&& key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& AddStatusDetails(const char* key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& AddStatusDetails(Aws::String&& key, const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution.</p>
*/
inline JobExecutionState& AddStatusDetails(const char* key, const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, value); return *this; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time they are updated by a device.</p>
*/
inline long long GetVersionNumber() const{ return m_versionNumber; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time they are updated by a device.</p>
*/
inline bool VersionNumberHasBeenSet() const { return m_versionNumberHasBeenSet; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time they are updated by a device.</p>
*/
inline void SetVersionNumber(long long value) { m_versionNumberHasBeenSet = true; m_versionNumber = value; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time they are updated by a device.</p>
*/
inline JobExecutionState& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;}
private:
JobExecutionStatus m_status;
bool m_statusHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_statusDetails;
bool m_statusDetailsHasBeenSet;
long long m_versionNumber;
bool m_versionNumberHasBeenSet;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,37 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
namespace Aws
{
namespace IoTJobsDataPlane
{
namespace Model
{
enum class JobExecutionStatus
{
NOT_SET,
QUEUED,
IN_PROGRESS,
SUCCEEDED,
FAILED,
TIMED_OUT,
REJECTED,
REMOVED,
CANCELED
};
namespace JobExecutionStatusMapper
{
AWS_IOTJOBSDATAPLANE_API JobExecutionStatus GetJobExecutionStatusForName(const Aws::String& name);
AWS_IOTJOBSDATAPLANE_API Aws::String GetNameForJobExecutionStatus(JobExecutionStatus value);
} // namespace JobExecutionStatusMapper
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,229 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTJobsDataPlane
{
namespace Model
{
/**
* <p>Contains a subset of information about a job execution.</p><p><h3>See
* Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/JobExecutionSummary">AWS
* API Reference</a></p>
*/
class AWS_IOTJOBSDATAPLANE_API JobExecutionSummary
{
public:
JobExecutionSummary();
JobExecutionSummary(Aws::Utils::Json::JsonView jsonValue);
JobExecutionSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline JobExecutionSummary& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline JobExecutionSummary& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The unique identifier you assigned to this job when it was created.</p>
*/
inline JobExecutionSummary& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* enqueued.</p>
*/
inline long long GetQueuedAt() const{ return m_queuedAt; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* enqueued.</p>
*/
inline bool QueuedAtHasBeenSet() const { return m_queuedAtHasBeenSet; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* enqueued.</p>
*/
inline void SetQueuedAt(long long value) { m_queuedAtHasBeenSet = true; m_queuedAt = value; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was
* enqueued.</p>
*/
inline JobExecutionSummary& WithQueuedAt(long long value) { SetQueuedAt(value); return *this;}
/**
* <p>The time, in milliseconds since the epoch, when the job execution
* started.</p>
*/
inline long long GetStartedAt() const{ return m_startedAt; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution
* started.</p>
*/
inline bool StartedAtHasBeenSet() const { return m_startedAtHasBeenSet; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution
* started.</p>
*/
inline void SetStartedAt(long long value) { m_startedAtHasBeenSet = true; m_startedAt = value; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution
* started.</p>
*/
inline JobExecutionSummary& WithStartedAt(long long value) { SetStartedAt(value); return *this;}
/**
* <p>The time, in milliseconds since the epoch, when the job execution was last
* updated.</p>
*/
inline long long GetLastUpdatedAt() const{ return m_lastUpdatedAt; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was last
* updated.</p>
*/
inline bool LastUpdatedAtHasBeenSet() const { return m_lastUpdatedAtHasBeenSet; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was last
* updated.</p>
*/
inline void SetLastUpdatedAt(long long value) { m_lastUpdatedAtHasBeenSet = true; m_lastUpdatedAt = value; }
/**
* <p>The time, in milliseconds since the epoch, when the job execution was last
* updated.</p>
*/
inline JobExecutionSummary& WithLastUpdatedAt(long long value) { SetLastUpdatedAt(value); return *this;}
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time AWS IoT Jobs receives an update from a device.</p>
*/
inline long long GetVersionNumber() const{ return m_versionNumber; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time AWS IoT Jobs receives an update from a device.</p>
*/
inline bool VersionNumberHasBeenSet() const { return m_versionNumberHasBeenSet; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time AWS IoT Jobs receives an update from a device.</p>
*/
inline void SetVersionNumber(long long value) { m_versionNumberHasBeenSet = true; m_versionNumber = value; }
/**
* <p>The version of the job execution. Job execution versions are incremented each
* time AWS IoT Jobs receives an update from a device.</p>
*/
inline JobExecutionSummary& WithVersionNumber(long long value) { SetVersionNumber(value); return *this;}
/**
* <p>A number that identifies a particular job execution on a particular
* device.</p>
*/
inline long long GetExecutionNumber() const{ return m_executionNumber; }
/**
* <p>A number that identifies a particular job execution on a particular
* device.</p>
*/
inline bool ExecutionNumberHasBeenSet() const { return m_executionNumberHasBeenSet; }
/**
* <p>A number that identifies a particular job execution on a particular
* device.</p>
*/
inline void SetExecutionNumber(long long value) { m_executionNumberHasBeenSet = true; m_executionNumber = value; }
/**
* <p>A number that identifies a particular job execution on a particular
* device.</p>
*/
inline JobExecutionSummary& WithExecutionNumber(long long value) { SetExecutionNumber(value); return *this;}
private:
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
long long m_queuedAt;
bool m_queuedAtHasBeenSet;
long long m_startedAt;
bool m_startedAtHasBeenSet;
long long m_lastUpdatedAt;
bool m_lastUpdatedAtHasBeenSet;
long long m_versionNumber;
bool m_versionNumberHasBeenSet;
long long m_executionNumber;
bool m_executionNumberHasBeenSet;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,222 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/IoTJobsDataPlaneRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace IoTJobsDataPlane
{
namespace Model
{
/**
*/
class AWS_IOTJOBSDATAPLANE_API StartNextPendingJobExecutionRequest : public IoTJobsDataPlaneRequest
{
public:
StartNextPendingJobExecutionRequest();
// 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 "StartNextPendingJobExecution"; }
Aws::String SerializePayload() const override;
/**
* <p>The name of the thing associated with the device.</p>
*/
inline const Aws::String& GetThingName() const{ return m_thingName; }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline StartNextPendingJobExecutionRequest& WithThingName(const Aws::String& value) { SetThingName(value); return *this;}
/**
* <p>The name of the thing associated with the device.</p>
*/
inline StartNextPendingJobExecutionRequest& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;}
/**
* <p>The name of the thing associated with the device.</p>
*/
inline StartNextPendingJobExecutionRequest& WithThingName(const char* value) { SetThingName(value); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetStatusDetails() const{ return m_statusDetails; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline void SetStatusDetails(const Aws::Map<Aws::String, Aws::String>& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline void SetStatusDetails(Aws::Map<Aws::String, Aws::String>&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& WithStatusDetails(const Aws::Map<Aws::String, Aws::String>& value) { SetStatusDetails(value); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& WithStatusDetails(Aws::Map<Aws::String, Aws::String>&& value) { SetStatusDetails(std::move(value)); return *this;}
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& AddStatusDetails(const Aws::String& key, const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& AddStatusDetails(Aws::String&& key, const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& AddStatusDetails(const Aws::String& key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& AddStatusDetails(Aws::String&& key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& AddStatusDetails(const char* key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, std::move(value)); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& AddStatusDetails(Aws::String&& key, const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), value); return *this; }
/**
* <p>A collection of name/value pairs that describe the status of the job
* execution. If not specified, the statusDetails are unchanged.</p>
*/
inline StartNextPendingJobExecutionRequest& AddStatusDetails(const char* key, const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, value); return *this; }
/**
* <p>Specifies the amount of time this device has to finish execution of this job.
* If the job execution status is not set to a terminal state before this timer
* expires, or before the timer is reset (by calling
* <code>UpdateJobExecution</code>, setting the status to <code>IN_PROGRESS</code>
* and specifying a new timeout value in field <code>stepTimeoutInMinutes</code>)
* the job execution status will be automatically set to <code>TIMED_OUT</code>.
* Note that setting this timeout has no effect on that job execution timeout which
* may have been specified when the job was created (<code>CreateJob</code> using
* field <code>timeoutConfig</code>).</p>
*/
inline long long GetStepTimeoutInMinutes() const{ return m_stepTimeoutInMinutes; }
/**
* <p>Specifies the amount of time this device has to finish execution of this job.
* If the job execution status is not set to a terminal state before this timer
* expires, or before the timer is reset (by calling
* <code>UpdateJobExecution</code>, setting the status to <code>IN_PROGRESS</code>
* and specifying a new timeout value in field <code>stepTimeoutInMinutes</code>)
* the job execution status will be automatically set to <code>TIMED_OUT</code>.
* Note that setting this timeout has no effect on that job execution timeout which
* may have been specified when the job was created (<code>CreateJob</code> using
* field <code>timeoutConfig</code>).</p>
*/
inline bool StepTimeoutInMinutesHasBeenSet() const { return m_stepTimeoutInMinutesHasBeenSet; }
/**
* <p>Specifies the amount of time this device has to finish execution of this job.
* If the job execution status is not set to a terminal state before this timer
* expires, or before the timer is reset (by calling
* <code>UpdateJobExecution</code>, setting the status to <code>IN_PROGRESS</code>
* and specifying a new timeout value in field <code>stepTimeoutInMinutes</code>)
* the job execution status will be automatically set to <code>TIMED_OUT</code>.
* Note that setting this timeout has no effect on that job execution timeout which
* may have been specified when the job was created (<code>CreateJob</code> using
* field <code>timeoutConfig</code>).</p>
*/
inline void SetStepTimeoutInMinutes(long long value) { m_stepTimeoutInMinutesHasBeenSet = true; m_stepTimeoutInMinutes = value; }
/**
* <p>Specifies the amount of time this device has to finish execution of this job.
* If the job execution status is not set to a terminal state before this timer
* expires, or before the timer is reset (by calling
* <code>UpdateJobExecution</code>, setting the status to <code>IN_PROGRESS</code>
* and specifying a new timeout value in field <code>stepTimeoutInMinutes</code>)
* the job execution status will be automatically set to <code>TIMED_OUT</code>.
* Note that setting this timeout has no effect on that job execution timeout which
* may have been specified when the job was created (<code>CreateJob</code> using
* field <code>timeoutConfig</code>).</p>
*/
inline StartNextPendingJobExecutionRequest& WithStepTimeoutInMinutes(long long value) { SetStepTimeoutInMinutes(value); return *this;}
private:
Aws::String m_thingName;
bool m_thingNameHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_statusDetails;
bool m_statusDetailsHasBeenSet;
long long m_stepTimeoutInMinutes;
bool m_stepTimeoutInMinutesHasBeenSet;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,67 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/model/JobExecution.h>
#include <utility>
namespace Aws
{
template<typename RESULT_TYPE>
class AmazonWebServiceResult;
namespace Utils
{
namespace Json
{
class JsonValue;
} // namespace Json
} // namespace Utils
namespace IoTJobsDataPlane
{
namespace Model
{
class AWS_IOTJOBSDATAPLANE_API StartNextPendingJobExecutionResult
{
public:
StartNextPendingJobExecutionResult();
StartNextPendingJobExecutionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
StartNextPendingJobExecutionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A JobExecution object.</p>
*/
inline const JobExecution& GetExecution() const{ return m_execution; }
/**
* <p>A JobExecution object.</p>
*/
inline void SetExecution(const JobExecution& value) { m_execution = value; }
/**
* <p>A JobExecution object.</p>
*/
inline void SetExecution(JobExecution&& value) { m_execution = std::move(value); }
/**
* <p>A JobExecution object.</p>
*/
inline StartNextPendingJobExecutionResult& WithExecution(const JobExecution& value) { SetExecution(value); return *this;}
/**
* <p>A JobExecution object.</p>
*/
inline StartNextPendingJobExecutionResult& WithExecution(JobExecution&& value) { SetExecution(std::move(value)); return *this;}
private:
JobExecution m_execution;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,123 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/core/utils/Array.h>
#include <utility>
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace IoTJobsDataPlane
{
namespace Model
{
/**
* <p>The rate exceeds the limit.</p><p><h3>See Also:</h3> <a
* href="http://docs.aws.amazon.com/goto/WebAPI/iot-jobs-data-2017-09-29/ThrottlingException">AWS
* API Reference</a></p>
*/
class AWS_IOTJOBSDATAPLANE_API ThrottlingException
{
public:
ThrottlingException();
ThrottlingException(Aws::Utils::Json::JsonView jsonValue);
ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue);
Aws::Utils::Json::JsonValue Jsonize() const;
/**
* <p>The message associated with the exception.</p>
*/
inline const Aws::String& GetMessage() const{ return m_message; }
/**
* <p>The message associated with the exception.</p>
*/
inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
/**
* <p>The message associated with the exception.</p>
*/
inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
/**
* <p>The message associated with the exception.</p>
*/
inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
/**
* <p>The message associated with the exception.</p>
*/
inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
/**
* <p>The message associated with the exception.</p>
*/
inline ThrottlingException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
/**
* <p>The message associated with the exception.</p>
*/
inline ThrottlingException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
/**
* <p>The message associated with the exception.</p>
*/
inline ThrottlingException& WithMessage(const char* value) { SetMessage(value); return *this;}
/**
* <p>The payload associated with the exception.</p>
*/
inline const Aws::Utils::ByteBuffer& GetPayload() const{ return m_payload; }
/**
* <p>The payload associated with the exception.</p>
*/
inline bool PayloadHasBeenSet() const { return m_payloadHasBeenSet; }
/**
* <p>The payload associated with the exception.</p>
*/
inline void SetPayload(const Aws::Utils::ByteBuffer& value) { m_payloadHasBeenSet = true; m_payload = value; }
/**
* <p>The payload associated with the exception.</p>
*/
inline void SetPayload(Aws::Utils::ByteBuffer&& value) { m_payloadHasBeenSet = true; m_payload = std::move(value); }
/**
* <p>The payload associated with the exception.</p>
*/
inline ThrottlingException& WithPayload(const Aws::Utils::ByteBuffer& value) { SetPayload(value); return *this;}
/**
* <p>The payload associated with the exception.</p>
*/
inline ThrottlingException& WithPayload(Aws::Utils::ByteBuffer&& value) { SetPayload(std::move(value)); return *this;}
private:
Aws::String m_message;
bool m_messageHasBeenSet;
Aws::Utils::ByteBuffer m_payload;
bool m_payloadHasBeenSet;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,439 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/IoTJobsDataPlaneRequest.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/iot-jobs-data/model/JobExecutionStatus.h>
#include <aws/core/utils/memory/stl/AWSMap.h>
#include <utility>
namespace Aws
{
namespace IoTJobsDataPlane
{
namespace Model
{
/**
*/
class AWS_IOTJOBSDATAPLANE_API UpdateJobExecutionRequest : public IoTJobsDataPlaneRequest
{
public:
UpdateJobExecutionRequest();
// 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 "UpdateJobExecution"; }
Aws::String SerializePayload() const override;
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline const Aws::String& GetJobId() const{ return m_jobId; }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); }
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline UpdateJobExecutionRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;}
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline UpdateJobExecutionRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;}
/**
* <p>The unique identifier assigned to this job when it was created.</p>
*/
inline UpdateJobExecutionRequest& WithJobId(const char* value) { SetJobId(value); return *this;}
/**
* <p>The name of the thing associated with the device.</p>
*/
inline const Aws::String& GetThingName() const{ return m_thingName; }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline bool ThingNameHasBeenSet() const { return m_thingNameHasBeenSet; }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline void SetThingName(const Aws::String& value) { m_thingNameHasBeenSet = true; m_thingName = value; }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline void SetThingName(Aws::String&& value) { m_thingNameHasBeenSet = true; m_thingName = std::move(value); }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline void SetThingName(const char* value) { m_thingNameHasBeenSet = true; m_thingName.assign(value); }
/**
* <p>The name of the thing associated with the device.</p>
*/
inline UpdateJobExecutionRequest& WithThingName(const Aws::String& value) { SetThingName(value); return *this;}
/**
* <p>The name of the thing associated with the device.</p>
*/
inline UpdateJobExecutionRequest& WithThingName(Aws::String&& value) { SetThingName(std::move(value)); return *this;}
/**
* <p>The name of the thing associated with the device.</p>
*/
inline UpdateJobExecutionRequest& WithThingName(const char* value) { SetThingName(value); return *this;}
/**
* <p>The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or
* REJECTED). This must be specified on every update.</p>
*/
inline const JobExecutionStatus& GetStatus() const{ return m_status; }
/**
* <p>The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or
* REJECTED). This must be specified on every update.</p>
*/
inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
/**
* <p>The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or
* REJECTED). This must be specified on every update.</p>
*/
inline void SetStatus(const JobExecutionStatus& value) { m_statusHasBeenSet = true; m_status = value; }
/**
* <p>The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or
* REJECTED). This must be specified on every update.</p>
*/
inline void SetStatus(JobExecutionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
/**
* <p>The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or
* REJECTED). This must be specified on every update.</p>
*/
inline UpdateJobExecutionRequest& WithStatus(const JobExecutionStatus& value) { SetStatus(value); return *this;}
/**
* <p>The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or
* REJECTED). This must be specified on every update.</p>
*/
inline UpdateJobExecutionRequest& WithStatus(JobExecutionStatus&& value) { SetStatus(std::move(value)); return *this;}
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline const Aws::Map<Aws::String, Aws::String>& GetStatusDetails() const{ return m_statusDetails; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline void SetStatusDetails(const Aws::Map<Aws::String, Aws::String>& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline void SetStatusDetails(Aws::Map<Aws::String, Aws::String>&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& WithStatusDetails(const Aws::Map<Aws::String, Aws::String>& value) { SetStatusDetails(value); return *this;}
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& WithStatusDetails(Aws::Map<Aws::String, Aws::String>&& value) { SetStatusDetails(std::move(value)); return *this;}
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& AddStatusDetails(const Aws::String& key, const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, value); return *this; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& AddStatusDetails(Aws::String&& key, const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), value); return *this; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& AddStatusDetails(const Aws::String& key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, std::move(value)); return *this; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& AddStatusDetails(Aws::String&& key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), std::move(value)); return *this; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& AddStatusDetails(const char* key, Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, std::move(value)); return *this; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& AddStatusDetails(Aws::String&& key, const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(std::move(key), value); return *this; }
/**
* <p> Optional. A collection of name/value pairs that describe the status of the
* job execution. If not specified, the statusDetails are unchanged.</p>
*/
inline UpdateJobExecutionRequest& AddStatusDetails(const char* key, const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.emplace(key, value); return *this; }
/**
* <p>Specifies the amount of time this device has to finish execution of this job.
* If the job execution status is not set to a terminal state before this timer
* expires, or before the timer is reset (by again calling
* <code>UpdateJobExecution</code>, setting the status to <code>IN_PROGRESS</code>
* and specifying a new timeout value in this field) the job execution status will
* be automatically set to <code>TIMED_OUT</code>. Note that setting or resetting
* this timeout has no effect on that job execution timeout which may have been
* specified when the job was created (<code>CreateJob</code> using field
* <code>timeoutConfig</code>).</p>
*/
inline long long GetStepTimeoutInMinutes() const{ return m_stepTimeoutInMinutes; }
/**
* <p>Specifies the amount of time this device has to finish execution of this job.
* If the job execution status is not set to a terminal state before this timer
* expires, or before the timer is reset (by again calling
* <code>UpdateJobExecution</code>, setting the status to <code>IN_PROGRESS</code>
* and specifying a new timeout value in this field) the job execution status will
* be automatically set to <code>TIMED_OUT</code>. Note that setting or resetting
* this timeout has no effect on that job execution timeout which may have been
* specified when the job was created (<code>CreateJob</code> using field
* <code>timeoutConfig</code>).</p>
*/
inline bool StepTimeoutInMinutesHasBeenSet() const { return m_stepTimeoutInMinutesHasBeenSet; }
/**
* <p>Specifies the amount of time this device has to finish execution of this job.
* If the job execution status is not set to a terminal state before this timer
* expires, or before the timer is reset (by again calling
* <code>UpdateJobExecution</code>, setting the status to <code>IN_PROGRESS</code>
* and specifying a new timeout value in this field) the job execution status will
* be automatically set to <code>TIMED_OUT</code>. Note that setting or resetting
* this timeout has no effect on that job execution timeout which may have been
* specified when the job was created (<code>CreateJob</code> using field
* <code>timeoutConfig</code>).</p>
*/
inline void SetStepTimeoutInMinutes(long long value) { m_stepTimeoutInMinutesHasBeenSet = true; m_stepTimeoutInMinutes = value; }
/**
* <p>Specifies the amount of time this device has to finish execution of this job.
* If the job execution status is not set to a terminal state before this timer
* expires, or before the timer is reset (by again calling
* <code>UpdateJobExecution</code>, setting the status to <code>IN_PROGRESS</code>
* and specifying a new timeout value in this field) the job execution status will
* be automatically set to <code>TIMED_OUT</code>. Note that setting or resetting
* this timeout has no effect on that job execution timeout which may have been
* specified when the job was created (<code>CreateJob</code> using field
* <code>timeoutConfig</code>).</p>
*/
inline UpdateJobExecutionRequest& WithStepTimeoutInMinutes(long long value) { SetStepTimeoutInMinutes(value); return *this;}
/**
* <p>Optional. The expected current version of the job execution. Each time you
* update the job execution, its version is incremented. If the version of the job
* execution stored in Jobs does not match, the update is rejected with a
* VersionMismatch error, and an ErrorResponse that contains the current job
* execution status data is returned. (This makes it unnecessary to perform a
* separate DescribeJobExecution request in order to obtain the job execution
* status data.)</p>
*/
inline long long GetExpectedVersion() const{ return m_expectedVersion; }
/**
* <p>Optional. The expected current version of the job execution. Each time you
* update the job execution, its version is incremented. If the version of the job
* execution stored in Jobs does not match, the update is rejected with a
* VersionMismatch error, and an ErrorResponse that contains the current job
* execution status data is returned. (This makes it unnecessary to perform a
* separate DescribeJobExecution request in order to obtain the job execution
* status data.)</p>
*/
inline bool ExpectedVersionHasBeenSet() const { return m_expectedVersionHasBeenSet; }
/**
* <p>Optional. The expected current version of the job execution. Each time you
* update the job execution, its version is incremented. If the version of the job
* execution stored in Jobs does not match, the update is rejected with a
* VersionMismatch error, and an ErrorResponse that contains the current job
* execution status data is returned. (This makes it unnecessary to perform a
* separate DescribeJobExecution request in order to obtain the job execution
* status data.)</p>
*/
inline void SetExpectedVersion(long long value) { m_expectedVersionHasBeenSet = true; m_expectedVersion = value; }
/**
* <p>Optional. The expected current version of the job execution. Each time you
* update the job execution, its version is incremented. If the version of the job
* execution stored in Jobs does not match, the update is rejected with a
* VersionMismatch error, and an ErrorResponse that contains the current job
* execution status data is returned. (This makes it unnecessary to perform a
* separate DescribeJobExecution request in order to obtain the job execution
* status data.)</p>
*/
inline UpdateJobExecutionRequest& WithExpectedVersion(long long value) { SetExpectedVersion(value); return *this;}
/**
* <p>Optional. When included and set to true, the response contains the
* JobExecutionState data. The default is false.</p>
*/
inline bool GetIncludeJobExecutionState() const{ return m_includeJobExecutionState; }
/**
* <p>Optional. When included and set to true, the response contains the
* JobExecutionState data. The default is false.</p>
*/
inline bool IncludeJobExecutionStateHasBeenSet() const { return m_includeJobExecutionStateHasBeenSet; }
/**
* <p>Optional. When included and set to true, the response contains the
* JobExecutionState data. The default is false.</p>
*/
inline void SetIncludeJobExecutionState(bool value) { m_includeJobExecutionStateHasBeenSet = true; m_includeJobExecutionState = value; }
/**
* <p>Optional. When included and set to true, the response contains the
* JobExecutionState data. The default is false.</p>
*/
inline UpdateJobExecutionRequest& WithIncludeJobExecutionState(bool value) { SetIncludeJobExecutionState(value); return *this;}
/**
* <p>Optional. When set to true, the response contains the job document. The
* default is false.</p>
*/
inline bool GetIncludeJobDocument() const{ return m_includeJobDocument; }
/**
* <p>Optional. When set to true, the response contains the job document. The
* default is false.</p>
*/
inline bool IncludeJobDocumentHasBeenSet() const { return m_includeJobDocumentHasBeenSet; }
/**
* <p>Optional. When set to true, the response contains the job document. The
* default is false.</p>
*/
inline void SetIncludeJobDocument(bool value) { m_includeJobDocumentHasBeenSet = true; m_includeJobDocument = value; }
/**
* <p>Optional. When set to true, the response contains the job document. The
* default is false.</p>
*/
inline UpdateJobExecutionRequest& WithIncludeJobDocument(bool value) { SetIncludeJobDocument(value); return *this;}
/**
* <p>Optional. A number that identifies a particular job execution on a particular
* device.</p>
*/
inline long long GetExecutionNumber() const{ return m_executionNumber; }
/**
* <p>Optional. A number that identifies a particular job execution on a particular
* device.</p>
*/
inline bool ExecutionNumberHasBeenSet() const { return m_executionNumberHasBeenSet; }
/**
* <p>Optional. A number that identifies a particular job execution on a particular
* device.</p>
*/
inline void SetExecutionNumber(long long value) { m_executionNumberHasBeenSet = true; m_executionNumber = value; }
/**
* <p>Optional. A number that identifies a particular job execution on a particular
* device.</p>
*/
inline UpdateJobExecutionRequest& WithExecutionNumber(long long value) { SetExecutionNumber(value); return *this;}
private:
Aws::String m_jobId;
bool m_jobIdHasBeenSet;
Aws::String m_thingName;
bool m_thingNameHasBeenSet;
JobExecutionStatus m_status;
bool m_statusHasBeenSet;
Aws::Map<Aws::String, Aws::String> m_statusDetails;
bool m_statusDetailsHasBeenSet;
long long m_stepTimeoutInMinutes;
bool m_stepTimeoutInMinutesHasBeenSet;
long long m_expectedVersion;
bool m_expectedVersionHasBeenSet;
bool m_includeJobExecutionState;
bool m_includeJobExecutionStateHasBeenSet;
bool m_includeJobDocument;
bool m_includeJobDocumentHasBeenSet;
long long m_executionNumber;
bool m_executionNumberHasBeenSet;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws

View File

@@ -0,0 +1,106 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iot-jobs-data/IoTJobsDataPlane_EXPORTS.h>
#include <aws/iot-jobs-data/model/JobExecutionState.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 IoTJobsDataPlane
{
namespace Model
{
class AWS_IOTJOBSDATAPLANE_API UpdateJobExecutionResult
{
public:
UpdateJobExecutionResult();
UpdateJobExecutionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
UpdateJobExecutionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
/**
* <p>A JobExecutionState object.</p>
*/
inline const JobExecutionState& GetExecutionState() const{ return m_executionState; }
/**
* <p>A JobExecutionState object.</p>
*/
inline void SetExecutionState(const JobExecutionState& value) { m_executionState = value; }
/**
* <p>A JobExecutionState object.</p>
*/
inline void SetExecutionState(JobExecutionState&& value) { m_executionState = std::move(value); }
/**
* <p>A JobExecutionState object.</p>
*/
inline UpdateJobExecutionResult& WithExecutionState(const JobExecutionState& value) { SetExecutionState(value); return *this;}
/**
* <p>A JobExecutionState object.</p>
*/
inline UpdateJobExecutionResult& WithExecutionState(JobExecutionState&& value) { SetExecutionState(std::move(value)); return *this;}
/**
* <p>The contents of the Job Documents.</p>
*/
inline const Aws::String& GetJobDocument() const{ return m_jobDocument; }
/**
* <p>The contents of the Job Documents.</p>
*/
inline void SetJobDocument(const Aws::String& value) { m_jobDocument = value; }
/**
* <p>The contents of the Job Documents.</p>
*/
inline void SetJobDocument(Aws::String&& value) { m_jobDocument = std::move(value); }
/**
* <p>The contents of the Job Documents.</p>
*/
inline void SetJobDocument(const char* value) { m_jobDocument.assign(value); }
/**
* <p>The contents of the Job Documents.</p>
*/
inline UpdateJobExecutionResult& WithJobDocument(const Aws::String& value) { SetJobDocument(value); return *this;}
/**
* <p>The contents of the Job Documents.</p>
*/
inline UpdateJobExecutionResult& WithJobDocument(Aws::String&& value) { SetJobDocument(std::move(value)); return *this;}
/**
* <p>The contents of the Job Documents.</p>
*/
inline UpdateJobExecutionResult& WithJobDocument(const char* value) { SetJobDocument(value); return *this;}
private:
JobExecutionState m_executionState;
Aws::String m_jobDocument;
};
} // namespace Model
} // namespace IoTJobsDataPlane
} // namespace Aws