/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include 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 IoTThingsGraph { namespace Model { class AssociateEntityToThingRequest; class CreateFlowTemplateRequest; class CreateSystemInstanceRequest; class CreateSystemTemplateRequest; class DeleteFlowTemplateRequest; class DeleteNamespaceRequest; class DeleteSystemInstanceRequest; class DeleteSystemTemplateRequest; class DeploySystemInstanceRequest; class DeprecateFlowTemplateRequest; class DeprecateSystemTemplateRequest; class DescribeNamespaceRequest; class DissociateEntityFromThingRequest; class GetEntitiesRequest; class GetFlowTemplateRequest; class GetFlowTemplateRevisionsRequest; class GetNamespaceDeletionStatusRequest; class GetSystemInstanceRequest; class GetSystemTemplateRequest; class GetSystemTemplateRevisionsRequest; class GetUploadStatusRequest; class ListFlowExecutionMessagesRequest; class ListTagsForResourceRequest; class SearchEntitiesRequest; class SearchFlowExecutionsRequest; class SearchFlowTemplatesRequest; class SearchSystemInstancesRequest; class SearchSystemTemplatesRequest; class SearchThingsRequest; class TagResourceRequest; class UndeploySystemInstanceRequest; class UntagResourceRequest; class UpdateFlowTemplateRequest; class UpdateSystemTemplateRequest; class UploadEntityDefinitionsRequest; typedef Aws::Utils::Outcome AssociateEntityToThingOutcome; typedef Aws::Utils::Outcome CreateFlowTemplateOutcome; typedef Aws::Utils::Outcome CreateSystemInstanceOutcome; typedef Aws::Utils::Outcome CreateSystemTemplateOutcome; typedef Aws::Utils::Outcome DeleteFlowTemplateOutcome; typedef Aws::Utils::Outcome DeleteNamespaceOutcome; typedef Aws::Utils::Outcome DeleteSystemInstanceOutcome; typedef Aws::Utils::Outcome DeleteSystemTemplateOutcome; typedef Aws::Utils::Outcome DeploySystemInstanceOutcome; typedef Aws::Utils::Outcome DeprecateFlowTemplateOutcome; typedef Aws::Utils::Outcome DeprecateSystemTemplateOutcome; typedef Aws::Utils::Outcome DescribeNamespaceOutcome; typedef Aws::Utils::Outcome DissociateEntityFromThingOutcome; typedef Aws::Utils::Outcome GetEntitiesOutcome; typedef Aws::Utils::Outcome GetFlowTemplateOutcome; typedef Aws::Utils::Outcome GetFlowTemplateRevisionsOutcome; typedef Aws::Utils::Outcome GetNamespaceDeletionStatusOutcome; typedef Aws::Utils::Outcome GetSystemInstanceOutcome; typedef Aws::Utils::Outcome GetSystemTemplateOutcome; typedef Aws::Utils::Outcome GetSystemTemplateRevisionsOutcome; typedef Aws::Utils::Outcome GetUploadStatusOutcome; typedef Aws::Utils::Outcome ListFlowExecutionMessagesOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome SearchEntitiesOutcome; typedef Aws::Utils::Outcome SearchFlowExecutionsOutcome; typedef Aws::Utils::Outcome SearchFlowTemplatesOutcome; typedef Aws::Utils::Outcome SearchSystemInstancesOutcome; typedef Aws::Utils::Outcome SearchSystemTemplatesOutcome; typedef Aws::Utils::Outcome SearchThingsOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UndeploySystemInstanceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateFlowTemplateOutcome; typedef Aws::Utils::Outcome UpdateSystemTemplateOutcome; typedef Aws::Utils::Outcome UploadEntityDefinitionsOutcome; typedef std::future AssociateEntityToThingOutcomeCallable; typedef std::future CreateFlowTemplateOutcomeCallable; typedef std::future CreateSystemInstanceOutcomeCallable; typedef std::future CreateSystemTemplateOutcomeCallable; typedef std::future DeleteFlowTemplateOutcomeCallable; typedef std::future DeleteNamespaceOutcomeCallable; typedef std::future DeleteSystemInstanceOutcomeCallable; typedef std::future DeleteSystemTemplateOutcomeCallable; typedef std::future DeploySystemInstanceOutcomeCallable; typedef std::future DeprecateFlowTemplateOutcomeCallable; typedef std::future DeprecateSystemTemplateOutcomeCallable; typedef std::future DescribeNamespaceOutcomeCallable; typedef std::future DissociateEntityFromThingOutcomeCallable; typedef std::future GetEntitiesOutcomeCallable; typedef std::future GetFlowTemplateOutcomeCallable; typedef std::future GetFlowTemplateRevisionsOutcomeCallable; typedef std::future GetNamespaceDeletionStatusOutcomeCallable; typedef std::future GetSystemInstanceOutcomeCallable; typedef std::future GetSystemTemplateOutcomeCallable; typedef std::future GetSystemTemplateRevisionsOutcomeCallable; typedef std::future GetUploadStatusOutcomeCallable; typedef std::future ListFlowExecutionMessagesOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future SearchEntitiesOutcomeCallable; typedef std::future SearchFlowExecutionsOutcomeCallable; typedef std::future SearchFlowTemplatesOutcomeCallable; typedef std::future SearchSystemInstancesOutcomeCallable; typedef std::future SearchSystemTemplatesOutcomeCallable; typedef std::future SearchThingsOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UndeploySystemInstanceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateFlowTemplateOutcomeCallable; typedef std::future UpdateSystemTemplateOutcomeCallable; typedef std::future UploadEntityDefinitionsOutcomeCallable; } // namespace Model class IoTThingsGraphClient; typedef std::function&) > AssociateEntityToThingResponseReceivedHandler; typedef std::function&) > CreateFlowTemplateResponseReceivedHandler; typedef std::function&) > CreateSystemInstanceResponseReceivedHandler; typedef std::function&) > CreateSystemTemplateResponseReceivedHandler; typedef std::function&) > DeleteFlowTemplateResponseReceivedHandler; typedef std::function&) > DeleteNamespaceResponseReceivedHandler; typedef std::function&) > DeleteSystemInstanceResponseReceivedHandler; typedef std::function&) > DeleteSystemTemplateResponseReceivedHandler; typedef std::function&) > DeploySystemInstanceResponseReceivedHandler; typedef std::function&) > DeprecateFlowTemplateResponseReceivedHandler; typedef std::function&) > DeprecateSystemTemplateResponseReceivedHandler; typedef std::function&) > DescribeNamespaceResponseReceivedHandler; typedef std::function&) > DissociateEntityFromThingResponseReceivedHandler; typedef std::function&) > GetEntitiesResponseReceivedHandler; typedef std::function&) > GetFlowTemplateResponseReceivedHandler; typedef std::function&) > GetFlowTemplateRevisionsResponseReceivedHandler; typedef std::function&) > GetNamespaceDeletionStatusResponseReceivedHandler; typedef std::function&) > GetSystemInstanceResponseReceivedHandler; typedef std::function&) > GetSystemTemplateResponseReceivedHandler; typedef std::function&) > GetSystemTemplateRevisionsResponseReceivedHandler; typedef std::function&) > GetUploadStatusResponseReceivedHandler; typedef std::function&) > ListFlowExecutionMessagesResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > SearchEntitiesResponseReceivedHandler; typedef std::function&) > SearchFlowExecutionsResponseReceivedHandler; typedef std::function&) > SearchFlowTemplatesResponseReceivedHandler; typedef std::function&) > SearchSystemInstancesResponseReceivedHandler; typedef std::function&) > SearchSystemTemplatesResponseReceivedHandler; typedef std::function&) > SearchThingsResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UndeploySystemInstanceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateFlowTemplateResponseReceivedHandler; typedef std::function&) > UpdateSystemTemplateResponseReceivedHandler; typedef std::function&) > UploadEntityDefinitionsResponseReceivedHandler; /** * AWS IoT Things Graph

AWS IoT Things Graph provides an * integrated set of tools that enable developers to connect devices and services * that use different standards, such as units of measure and communication * protocols. AWS IoT Things Graph makes it possible to build IoT applications with * little to no code by connecting devices and services and defining how they * interact at an abstract level.

For more information about how AWS IoT * Things Graph works, see the User * Guide.

*/ class AWS_IOTTHINGSGRAPH_API IoTThingsGraphClient : 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. */ IoTThingsGraphClient(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. */ IoTThingsGraphClient(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 */ IoTThingsGraphClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~IoTThingsGraphClient(); /** *

Associates a device with a concrete thing that is in the user's registry.

*

A thing can be associated with only one device at a time. If you associate a * thing with a new device id, its previous association will be * removed.

See Also:

AWS * API Reference

*/ virtual Model::AssociateEntityToThingOutcome AssociateEntityToThing(const Model::AssociateEntityToThingRequest& request) const; /** *

Associates a device with a concrete thing that is in the user's registry.

*

A thing can be associated with only one device at a time. If you associate a * thing with a new device id, its previous association will be * removed.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AssociateEntityToThingOutcomeCallable AssociateEntityToThingCallable(const Model::AssociateEntityToThingRequest& request) const; /** *

Associates a device with a concrete thing that is in the user's registry.

*

A thing can be associated with only one device at a time. If you associate a * thing with a new device id, its previous association will be * removed.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AssociateEntityToThingAsync(const Model::AssociateEntityToThingRequest& request, const AssociateEntityToThingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a workflow template. Workflows can be created only in the user's * namespace. (The public namespace contains only entities.) The workflow can * contain only entities in the specified namespace. The workflow is validated * against the entities in the latest version of the user's namespace unless * another namespace version is specified in the request.

See Also:

* AWS * API Reference

*/ virtual Model::CreateFlowTemplateOutcome CreateFlowTemplate(const Model::CreateFlowTemplateRequest& request) const; /** *

Creates a workflow template. Workflows can be created only in the user's * namespace. (The public namespace contains only entities.) The workflow can * contain only entities in the specified namespace. The workflow is validated * against the entities in the latest version of the user's namespace unless * another namespace version is specified in the request.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateFlowTemplateOutcomeCallable CreateFlowTemplateCallable(const Model::CreateFlowTemplateRequest& request) const; /** *

Creates a workflow template. Workflows can be created only in the user's * namespace. (The public namespace contains only entities.) The workflow can * contain only entities in the specified namespace. The workflow is validated * against the entities in the latest version of the user's namespace unless * another namespace version is specified in the request.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateFlowTemplateAsync(const Model::CreateFlowTemplateRequest& request, const CreateFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a system instance.

This action validates the system instance, * prepares the deployment-related resources. For Greengrass deployments, it * updates the Greengrass group that is specified by the * greengrassGroupName parameter. It also adds a file to the S3 bucket * specified by the s3BucketName parameter. You need to call * DeploySystemInstance after running this action.

For * Greengrass deployments, since this action modifies and adds resources to a * Greengrass group and an S3 bucket on the caller's behalf, the calling identity * must have write permissions to both the specified Greengrass group and S3 * bucket. Otherwise, the call will fail with an authorization error.

For * cloud deployments, this action requires a flowActionsRoleArn value. * This is an IAM role that has permissions to access AWS services, such as AWS * Lambda and AWS IoT, that the flow uses when it executes.

If the * definition document doesn't specify a version of the user's namespace, the * latest version will be used by default.

See Also:

AWS * API Reference

*/ virtual Model::CreateSystemInstanceOutcome CreateSystemInstance(const Model::CreateSystemInstanceRequest& request) const; /** *

Creates a system instance.

This action validates the system instance, * prepares the deployment-related resources. For Greengrass deployments, it * updates the Greengrass group that is specified by the * greengrassGroupName parameter. It also adds a file to the S3 bucket * specified by the s3BucketName parameter. You need to call * DeploySystemInstance after running this action.

For * Greengrass deployments, since this action modifies and adds resources to a * Greengrass group and an S3 bucket on the caller's behalf, the calling identity * must have write permissions to both the specified Greengrass group and S3 * bucket. Otherwise, the call will fail with an authorization error.

For * cloud deployments, this action requires a flowActionsRoleArn value. * This is an IAM role that has permissions to access AWS services, such as AWS * Lambda and AWS IoT, that the flow uses when it executes.

If the * definition document doesn't specify a version of the user's namespace, the * latest version will be used by default.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSystemInstanceOutcomeCallable CreateSystemInstanceCallable(const Model::CreateSystemInstanceRequest& request) const; /** *

Creates a system instance.

This action validates the system instance, * prepares the deployment-related resources. For Greengrass deployments, it * updates the Greengrass group that is specified by the * greengrassGroupName parameter. It also adds a file to the S3 bucket * specified by the s3BucketName parameter. You need to call * DeploySystemInstance after running this action.

For * Greengrass deployments, since this action modifies and adds resources to a * Greengrass group and an S3 bucket on the caller's behalf, the calling identity * must have write permissions to both the specified Greengrass group and S3 * bucket. Otherwise, the call will fail with an authorization error.

For * cloud deployments, this action requires a flowActionsRoleArn value. * This is an IAM role that has permissions to access AWS services, such as AWS * Lambda and AWS IoT, that the flow uses when it executes.

If the * definition document doesn't specify a version of the user's namespace, the * latest version will be used by default.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSystemInstanceAsync(const Model::CreateSystemInstanceRequest& request, const CreateSystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a system. The system is validated against the entities in the latest * version of the user's namespace unless another namespace version is specified in * the request.

See Also:

AWS * API Reference

*/ virtual Model::CreateSystemTemplateOutcome CreateSystemTemplate(const Model::CreateSystemTemplateRequest& request) const; /** *

Creates a system. The system is validated against the entities in the latest * version of the user's namespace unless another namespace version is specified in * the request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSystemTemplateOutcomeCallable CreateSystemTemplateCallable(const Model::CreateSystemTemplateRequest& request) const; /** *

Creates a system. The system is validated against the entities in the latest * version of the user's namespace unless another namespace version is specified in * the request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSystemTemplateAsync(const Model::CreateSystemTemplateRequest& request, const CreateSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a workflow. Any new system or deployment that contains this workflow * will fail to update or deploy. Existing deployments that contain the workflow * will continue to run (since they use a snapshot of the workflow taken at the * time of deployment).

See Also:

AWS * API Reference

*/ virtual Model::DeleteFlowTemplateOutcome DeleteFlowTemplate(const Model::DeleteFlowTemplateRequest& request) const; /** *

Deletes a workflow. Any new system or deployment that contains this workflow * will fail to update or deploy. Existing deployments that contain the workflow * will continue to run (since they use a snapshot of the workflow taken at the * time of deployment).

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteFlowTemplateOutcomeCallable DeleteFlowTemplateCallable(const Model::DeleteFlowTemplateRequest& request) const; /** *

Deletes a workflow. Any new system or deployment that contains this workflow * will fail to update or deploy. Existing deployments that contain the workflow * will continue to run (since they use a snapshot of the workflow taken at the * time of deployment).

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteFlowTemplateAsync(const Model::DeleteFlowTemplateRequest& request, const DeleteFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes the specified namespace. This action deletes all of the entities in * the namespace. Delete the systems and flows that use entities in the namespace * before performing this action.

See Also:

AWS * API Reference

*/ virtual Model::DeleteNamespaceOutcome DeleteNamespace(const Model::DeleteNamespaceRequest& request) const; /** *

Deletes the specified namespace. This action deletes all of the entities in * the namespace. Delete the systems and flows that use entities in the namespace * before performing this action.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteNamespaceOutcomeCallable DeleteNamespaceCallable(const Model::DeleteNamespaceRequest& request) const; /** *

Deletes the specified namespace. This action deletes all of the entities in * the namespace. Delete the systems and flows that use entities in the namespace * before performing this action.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteNamespaceAsync(const Model::DeleteNamespaceRequest& request, const DeleteNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a system instance. Only system instances that have never been * deployed, or that have been undeployed can be deleted.

Users can create a * new system instance that has the same ID as a deleted system * instance.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSystemInstanceOutcome DeleteSystemInstance(const Model::DeleteSystemInstanceRequest& request) const; /** *

Deletes a system instance. Only system instances that have never been * deployed, or that have been undeployed can be deleted.

Users can create a * new system instance that has the same ID as a deleted system * instance.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSystemInstanceOutcomeCallable DeleteSystemInstanceCallable(const Model::DeleteSystemInstanceRequest& request) const; /** *

Deletes a system instance. Only system instances that have never been * deployed, or that have been undeployed can be deleted.

Users can create a * new system instance that has the same ID as a deleted system * instance.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSystemInstanceAsync(const Model::DeleteSystemInstanceRequest& request, const DeleteSystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deletes a system. New deployments can't contain the system after its * deletion. Existing deployments that contain the system will continue to work * because they use a snapshot of the system that is taken when it is * deployed.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSystemTemplateOutcome DeleteSystemTemplate(const Model::DeleteSystemTemplateRequest& request) const; /** *

Deletes a system. New deployments can't contain the system after its * deletion. Existing deployments that contain the system will continue to work * because they use a snapshot of the system that is taken when it is * deployed.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSystemTemplateOutcomeCallable DeleteSystemTemplateCallable(const Model::DeleteSystemTemplateRequest& request) const; /** *

Deletes a system. New deployments can't contain the system after its * deletion. Existing deployments that contain the system will continue to work * because they use a snapshot of the system that is taken when it is * deployed.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSystemTemplateAsync(const Model::DeleteSystemTemplateRequest& request, const DeleteSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Greengrass and Cloud Deployments

Deploys the system instance * to the target specified in CreateSystemInstance.

* Greengrass Deployments

If the system or any workflows and * entities have been updated before this action is called, then the deployment * will create a new Amazon Simple Storage Service resource file and then deploy * it.

Since this action creates a Greengrass deployment on the caller's * behalf, the calling identity must have write permissions to the specified * Greengrass group. Otherwise, the call will fail with an authorization error.

*

For information about the artifacts that get added to your Greengrass core * device when you use this API, see AWS * IoT Things Graph and AWS IoT Greengrass.

See Also:

AWS * API Reference

*/ virtual Model::DeploySystemInstanceOutcome DeploySystemInstance(const Model::DeploySystemInstanceRequest& request) const; /** *

Greengrass and Cloud Deployments

Deploys the system instance * to the target specified in CreateSystemInstance.

* Greengrass Deployments

If the system or any workflows and * entities have been updated before this action is called, then the deployment * will create a new Amazon Simple Storage Service resource file and then deploy * it.

Since this action creates a Greengrass deployment on the caller's * behalf, the calling identity must have write permissions to the specified * Greengrass group. Otherwise, the call will fail with an authorization error.

*

For information about the artifacts that get added to your Greengrass core * device when you use this API, see AWS * IoT Things Graph and AWS IoT Greengrass.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeploySystemInstanceOutcomeCallable DeploySystemInstanceCallable(const Model::DeploySystemInstanceRequest& request) const; /** *

Greengrass and Cloud Deployments

Deploys the system instance * to the target specified in CreateSystemInstance.

* Greengrass Deployments

If the system or any workflows and * entities have been updated before this action is called, then the deployment * will create a new Amazon Simple Storage Service resource file and then deploy * it.

Since this action creates a Greengrass deployment on the caller's * behalf, the calling identity must have write permissions to the specified * Greengrass group. Otherwise, the call will fail with an authorization error.

*

For information about the artifacts that get added to your Greengrass core * device when you use this API, see AWS * IoT Things Graph and AWS IoT Greengrass.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeploySystemInstanceAsync(const Model::DeploySystemInstanceRequest& request, const DeploySystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deprecates the specified workflow. This action marks the workflow for * deletion. Deprecated flows can't be deployed, but existing deployments will * continue to run.

See Also:

AWS * API Reference

*/ virtual Model::DeprecateFlowTemplateOutcome DeprecateFlowTemplate(const Model::DeprecateFlowTemplateRequest& request) const; /** *

Deprecates the specified workflow. This action marks the workflow for * deletion. Deprecated flows can't be deployed, but existing deployments will * continue to run.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeprecateFlowTemplateOutcomeCallable DeprecateFlowTemplateCallable(const Model::DeprecateFlowTemplateRequest& request) const; /** *

Deprecates the specified workflow. This action marks the workflow for * deletion. Deprecated flows can't be deployed, but existing deployments will * continue to run.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeprecateFlowTemplateAsync(const Model::DeprecateFlowTemplateRequest& request, const DeprecateFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Deprecates the specified system.

See Also:

AWS * API Reference

*/ virtual Model::DeprecateSystemTemplateOutcome DeprecateSystemTemplate(const Model::DeprecateSystemTemplateRequest& request) const; /** *

Deprecates the specified system.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeprecateSystemTemplateOutcomeCallable DeprecateSystemTemplateCallable(const Model::DeprecateSystemTemplateRequest& request) const; /** *

Deprecates the specified system.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeprecateSystemTemplateAsync(const Model::DeprecateSystemTemplateRequest& request, const DeprecateSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the latest version of the user's namespace and the public version that * it is tracking.

See Also:

AWS * API Reference

*/ virtual Model::DescribeNamespaceOutcome DescribeNamespace(const Model::DescribeNamespaceRequest& request) const; /** *

Gets the latest version of the user's namespace and the public version that * it is tracking.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeNamespaceOutcomeCallable DescribeNamespaceCallable(const Model::DescribeNamespaceRequest& request) const; /** *

Gets the latest version of the user's namespace and the public version that * it is tracking.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeNamespaceAsync(const Model::DescribeNamespaceRequest& request, const DescribeNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Dissociates a device entity from a concrete thing. The action takes only the * type of the entity that you need to dissociate because only one entity of a * particular type can be associated with a thing.

See Also:

AWS * API Reference

*/ virtual Model::DissociateEntityFromThingOutcome DissociateEntityFromThing(const Model::DissociateEntityFromThingRequest& request) const; /** *

Dissociates a device entity from a concrete thing. The action takes only the * type of the entity that you need to dissociate because only one entity of a * particular type can be associated with a thing.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DissociateEntityFromThingOutcomeCallable DissociateEntityFromThingCallable(const Model::DissociateEntityFromThingRequest& request) const; /** *

Dissociates a device entity from a concrete thing. The action takes only the * type of the entity that you need to dissociate because only one entity of a * particular type can be associated with a thing.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DissociateEntityFromThingAsync(const Model::DissociateEntityFromThingRequest& request, const DissociateEntityFromThingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets definitions of the specified entities. Uses the latest version of the * user's namespace by default. This API returns the following TDM entities.

*
  • Properties

  • States

  • Events

    *
  • Actions

  • Capabilities

  • *

    Mappings

  • Devices

  • Device Models

  • *
  • Services

This action doesn't return definitions for * systems, flows, and deployments.

See Also:

AWS * API Reference

*/ virtual Model::GetEntitiesOutcome GetEntities(const Model::GetEntitiesRequest& request) const; /** *

Gets definitions of the specified entities. Uses the latest version of the * user's namespace by default. This API returns the following TDM entities.

*
  • Properties

  • States

  • Events

    *
  • Actions

  • Capabilities

  • *

    Mappings

  • Devices

  • Device Models

  • *
  • Services

This action doesn't return definitions for * systems, flows, and deployments.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetEntitiesOutcomeCallable GetEntitiesCallable(const Model::GetEntitiesRequest& request) const; /** *

Gets definitions of the specified entities. Uses the latest version of the * user's namespace by default. This API returns the following TDM entities.

*
  • Properties

  • States

  • Events

    *
  • Actions

  • Capabilities

  • *

    Mappings

  • Devices

  • Device Models

  • *
  • Services

This action doesn't return definitions for * systems, flows, and deployments.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetEntitiesAsync(const Model::GetEntitiesRequest& request, const GetEntitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the latest version of the DefinitionDocument and * FlowTemplateSummary for the specified workflow.

See * Also:

AWS * API Reference

*/ virtual Model::GetFlowTemplateOutcome GetFlowTemplate(const Model::GetFlowTemplateRequest& request) const; /** *

Gets the latest version of the DefinitionDocument and * FlowTemplateSummary for the specified workflow.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetFlowTemplateOutcomeCallable GetFlowTemplateCallable(const Model::GetFlowTemplateRequest& request) const; /** *

Gets the latest version of the DefinitionDocument and * FlowTemplateSummary for the specified workflow.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetFlowTemplateAsync(const Model::GetFlowTemplateRequest& request, const GetFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets revisions of the specified workflow. Only the last 100 revisions are * stored. If the workflow has been deprecated, this action will return revisions * that occurred before the deprecation. This action won't work for workflows that * have been deleted.

See Also:

AWS * API Reference

*/ virtual Model::GetFlowTemplateRevisionsOutcome GetFlowTemplateRevisions(const Model::GetFlowTemplateRevisionsRequest& request) const; /** *

Gets revisions of the specified workflow. Only the last 100 revisions are * stored. If the workflow has been deprecated, this action will return revisions * that occurred before the deprecation. This action won't work for workflows that * have been deleted.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetFlowTemplateRevisionsOutcomeCallable GetFlowTemplateRevisionsCallable(const Model::GetFlowTemplateRevisionsRequest& request) const; /** *

Gets revisions of the specified workflow. Only the last 100 revisions are * stored. If the workflow has been deprecated, this action will return revisions * that occurred before the deprecation. This action won't work for workflows that * have been deleted.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetFlowTemplateRevisionsAsync(const Model::GetFlowTemplateRevisionsRequest& request, const GetFlowTemplateRevisionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the status of a namespace deletion task.

See Also:

AWS * API Reference

*/ virtual Model::GetNamespaceDeletionStatusOutcome GetNamespaceDeletionStatus(const Model::GetNamespaceDeletionStatusRequest& request) const; /** *

Gets the status of a namespace deletion task.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetNamespaceDeletionStatusOutcomeCallable GetNamespaceDeletionStatusCallable(const Model::GetNamespaceDeletionStatusRequest& request) const; /** *

Gets the status of a namespace deletion task.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetNamespaceDeletionStatusAsync(const Model::GetNamespaceDeletionStatusRequest& request, const GetNamespaceDeletionStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets a system instance.

See Also:

AWS * API Reference

*/ virtual Model::GetSystemInstanceOutcome GetSystemInstance(const Model::GetSystemInstanceRequest& request) const; /** *

Gets a system instance.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSystemInstanceOutcomeCallable GetSystemInstanceCallable(const Model::GetSystemInstanceRequest& request) const; /** *

Gets a system instance.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSystemInstanceAsync(const Model::GetSystemInstanceRequest& request, const GetSystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets a system.

See Also:

AWS * API Reference

*/ virtual Model::GetSystemTemplateOutcome GetSystemTemplate(const Model::GetSystemTemplateRequest& request) const; /** *

Gets a system.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSystemTemplateOutcomeCallable GetSystemTemplateCallable(const Model::GetSystemTemplateRequest& request) const; /** *

Gets a system.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSystemTemplateAsync(const Model::GetSystemTemplateRequest& request, const GetSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets revisions made to the specified system template. Only the previous 100 * revisions are stored. If the system has been deprecated, this action will return * the revisions that occurred before its deprecation. This action won't work with * systems that have been deleted.

See Also:

AWS * API Reference

*/ virtual Model::GetSystemTemplateRevisionsOutcome GetSystemTemplateRevisions(const Model::GetSystemTemplateRevisionsRequest& request) const; /** *

Gets revisions made to the specified system template. Only the previous 100 * revisions are stored. If the system has been deprecated, this action will return * the revisions that occurred before its deprecation. This action won't work with * systems that have been deleted.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSystemTemplateRevisionsOutcomeCallable GetSystemTemplateRevisionsCallable(const Model::GetSystemTemplateRevisionsRequest& request) const; /** *

Gets revisions made to the specified system template. Only the previous 100 * revisions are stored. If the system has been deprecated, this action will return * the revisions that occurred before its deprecation. This action won't work with * systems that have been deleted.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSystemTemplateRevisionsAsync(const Model::GetSystemTemplateRevisionsRequest& request, const GetSystemTemplateRevisionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the status of the specified upload.

See Also:

AWS * API Reference

*/ virtual Model::GetUploadStatusOutcome GetUploadStatus(const Model::GetUploadStatusRequest& request) const; /** *

Gets the status of the specified upload.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetUploadStatusOutcomeCallable GetUploadStatusCallable(const Model::GetUploadStatusRequest& request) const; /** *

Gets the status of the specified upload.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetUploadStatusAsync(const Model::GetUploadStatusRequest& request, const GetUploadStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Returns a list of objects that contain information about events in a flow * execution.

See Also:

AWS * API Reference

*/ virtual Model::ListFlowExecutionMessagesOutcome ListFlowExecutionMessages(const Model::ListFlowExecutionMessagesRequest& request) const; /** *

Returns a list of objects that contain information about events in a flow * execution.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListFlowExecutionMessagesOutcomeCallable ListFlowExecutionMessagesCallable(const Model::ListFlowExecutionMessagesRequest& request) const; /** *

Returns a list of objects that contain information about events in a flow * execution.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListFlowExecutionMessagesAsync(const Model::ListFlowExecutionMessagesRequest& request, const ListFlowExecutionMessagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists all tags on an AWS IoT Things Graph resource.

See Also:

* AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

Lists all tags on an AWS IoT Things Graph resource.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

Lists all tags on an AWS IoT Things Graph resource.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Searches for entities of the specified type. You can search for entities in * your namespace and the public namespace that you're tracking.

See * Also:

AWS * API Reference

*/ virtual Model::SearchEntitiesOutcome SearchEntities(const Model::SearchEntitiesRequest& request) const; /** *

Searches for entities of the specified type. You can search for entities in * your namespace and the public namespace that you're tracking.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SearchEntitiesOutcomeCallable SearchEntitiesCallable(const Model::SearchEntitiesRequest& request) const; /** *

Searches for entities of the specified type. You can search for entities in * your namespace and the public namespace that you're tracking.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SearchEntitiesAsync(const Model::SearchEntitiesRequest& request, const SearchEntitiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Searches for AWS IoT Things Graph workflow execution instances.

See * Also:

AWS * API Reference

*/ virtual Model::SearchFlowExecutionsOutcome SearchFlowExecutions(const Model::SearchFlowExecutionsRequest& request) const; /** *

Searches for AWS IoT Things Graph workflow execution instances.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SearchFlowExecutionsOutcomeCallable SearchFlowExecutionsCallable(const Model::SearchFlowExecutionsRequest& request) const; /** *

Searches for AWS IoT Things Graph workflow execution instances.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SearchFlowExecutionsAsync(const Model::SearchFlowExecutionsRequest& request, const SearchFlowExecutionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Searches for summary information about workflows.

See Also:

* AWS * API Reference

*/ virtual Model::SearchFlowTemplatesOutcome SearchFlowTemplates(const Model::SearchFlowTemplatesRequest& request) const; /** *

Searches for summary information about workflows.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SearchFlowTemplatesOutcomeCallable SearchFlowTemplatesCallable(const Model::SearchFlowTemplatesRequest& request) const; /** *

Searches for summary information about workflows.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SearchFlowTemplatesAsync(const Model::SearchFlowTemplatesRequest& request, const SearchFlowTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Searches for system instances in the user's account.

See Also:

* AWS * API Reference

*/ virtual Model::SearchSystemInstancesOutcome SearchSystemInstances(const Model::SearchSystemInstancesRequest& request) const; /** *

Searches for system instances in the user's account.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SearchSystemInstancesOutcomeCallable SearchSystemInstancesCallable(const Model::SearchSystemInstancesRequest& request) const; /** *

Searches for system instances in the user's account.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SearchSystemInstancesAsync(const Model::SearchSystemInstancesRequest& request, const SearchSystemInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Searches for summary information about systems in the user's account. You can * filter by the ID of a workflow to return only systems that use the specified * workflow.

See Also:

AWS * API Reference

*/ virtual Model::SearchSystemTemplatesOutcome SearchSystemTemplates(const Model::SearchSystemTemplatesRequest& request) const; /** *

Searches for summary information about systems in the user's account. You can * filter by the ID of a workflow to return only systems that use the specified * workflow.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SearchSystemTemplatesOutcomeCallable SearchSystemTemplatesCallable(const Model::SearchSystemTemplatesRequest& request) const; /** *

Searches for summary information about systems in the user's account. You can * filter by the ID of a workflow to return only systems that use the specified * workflow.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SearchSystemTemplatesAsync(const Model::SearchSystemTemplatesRequest& request, const SearchSystemTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Searches for things associated with the specified entity. You can search by * both device and device model.

For example, if two different devices, * camera1 and camera2, implement the camera device model, the user can associate * thing1 to camera1 and thing2 to camera2. SearchThings(camera2) will * return only thing2, but SearchThings(camera) will return both * thing1 and thing2.

This action searches for exact matches and doesn't * perform partial text matching.

See Also:

AWS * API Reference

*/ virtual Model::SearchThingsOutcome SearchThings(const Model::SearchThingsRequest& request) const; /** *

Searches for things associated with the specified entity. You can search by * both device and device model.

For example, if two different devices, * camera1 and camera2, implement the camera device model, the user can associate * thing1 to camera1 and thing2 to camera2. SearchThings(camera2) will * return only thing2, but SearchThings(camera) will return both * thing1 and thing2.

This action searches for exact matches and doesn't * perform partial text matching.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::SearchThingsOutcomeCallable SearchThingsCallable(const Model::SearchThingsRequest& request) const; /** *

Searches for things associated with the specified entity. You can search by * both device and device model.

For example, if two different devices, * camera1 and camera2, implement the camera device model, the user can associate * thing1 to camera1 and thing2 to camera2. SearchThings(camera2) will * return only thing2, but SearchThings(camera) will return both * thing1 and thing2.

This action searches for exact matches and doesn't * perform partial text matching.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void SearchThingsAsync(const Model::SearchThingsRequest& request, const SearchThingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates a tag for the specified resource.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

Creates a tag for the specified resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

Creates a tag for the specified resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes a system instance from its target (Cloud or * Greengrass).

See Also:

AWS * API Reference

*/ virtual Model::UndeploySystemInstanceOutcome UndeploySystemInstance(const Model::UndeploySystemInstanceRequest& request) const; /** *

Removes a system instance from its target (Cloud or * Greengrass).

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UndeploySystemInstanceOutcomeCallable UndeploySystemInstanceCallable(const Model::UndeploySystemInstanceRequest& request) const; /** *

Removes a system instance from its target (Cloud or * Greengrass).

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UndeploySystemInstanceAsync(const Model::UndeploySystemInstanceRequest& request, const UndeploySystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Removes a tag from the specified resource.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

Removes a tag from the specified resource.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** *

Removes a tag from the specified resource.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the specified workflow. All deployed systems and system instances * that use the workflow will see the changes in the flow when it is redeployed. If * you don't want this behavior, copy the workflow (creating a new workflow with a * different ID), and update the copy. The workflow can contain only entities in * the specified namespace.

See Also:

AWS * API Reference

*/ virtual Model::UpdateFlowTemplateOutcome UpdateFlowTemplate(const Model::UpdateFlowTemplateRequest& request) const; /** *

Updates the specified workflow. All deployed systems and system instances * that use the workflow will see the changes in the flow when it is redeployed. If * you don't want this behavior, copy the workflow (creating a new workflow with a * different ID), and update the copy. The workflow can contain only entities in * the specified namespace.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateFlowTemplateOutcomeCallable UpdateFlowTemplateCallable(const Model::UpdateFlowTemplateRequest& request) const; /** *

Updates the specified workflow. All deployed systems and system instances * that use the workflow will see the changes in the flow when it is redeployed. If * you don't want this behavior, copy the workflow (creating a new workflow with a * different ID), and update the copy. The workflow can contain only entities in * the specified namespace.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateFlowTemplateAsync(const Model::UpdateFlowTemplateRequest& request, const UpdateFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Updates the specified system. You don't need to run this action after * updating a workflow. Any deployment that uses the system will see the changes in * the system when it is redeployed.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSystemTemplateOutcome UpdateSystemTemplate(const Model::UpdateSystemTemplateRequest& request) const; /** *

Updates the specified system. You don't need to run this action after * updating a workflow. Any deployment that uses the system will see the changes in * the system when it is redeployed.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateSystemTemplateOutcomeCallable UpdateSystemTemplateCallable(const Model::UpdateSystemTemplateRequest& request) const; /** *

Updates the specified system. You don't need to run this action after * updating a workflow. Any deployment that uses the system will see the changes in * the system when it is redeployed.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateSystemTemplateAsync(const Model::UpdateSystemTemplateRequest& request, const UpdateSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Asynchronously uploads one or more entity definitions to the user's * namespace. The document parameter is required if * syncWithPublicNamespace and deleteExistingEntites are * false. If the syncWithPublicNamespace parameter is set to * true, the user's namespace will synchronize with the latest version * of the public namespace. If deprecateExistingEntities is set to * true, all entities in the latest version will be deleted before the new * DefinitionDocument is uploaded.

When a user uploads entity * definitions for the first time, the service creates a new namespace for the * user. The new namespace tracks the public namespace. Currently users can have * only one namespace. The namespace version increments whenever a user uploads * entity definitions that are backwards-incompatible and whenever a user sets the * syncWithPublicNamespace parameter or the * deprecateExistingEntities parameter to true.

*

The IDs for all of the entities should be in URN format. Each entity must be * in the user's namespace. Users can't create entities in the public namespace, * but entity definitions can refer to entities in the public namespace.

*

Valid entities are Device, DeviceModel, * Service, Capability, State, * Action, Event, Property, * Mapping, Enum.

See Also:

AWS * API Reference

*/ virtual Model::UploadEntityDefinitionsOutcome UploadEntityDefinitions(const Model::UploadEntityDefinitionsRequest& request) const; /** *

Asynchronously uploads one or more entity definitions to the user's * namespace. The document parameter is required if * syncWithPublicNamespace and deleteExistingEntites are * false. If the syncWithPublicNamespace parameter is set to * true, the user's namespace will synchronize with the latest version * of the public namespace. If deprecateExistingEntities is set to * true, all entities in the latest version will be deleted before the new * DefinitionDocument is uploaded.

When a user uploads entity * definitions for the first time, the service creates a new namespace for the * user. The new namespace tracks the public namespace. Currently users can have * only one namespace. The namespace version increments whenever a user uploads * entity definitions that are backwards-incompatible and whenever a user sets the * syncWithPublicNamespace parameter or the * deprecateExistingEntities parameter to true.

*

The IDs for all of the entities should be in URN format. Each entity must be * in the user's namespace. Users can't create entities in the public namespace, * but entity definitions can refer to entities in the public namespace.

*

Valid entities are Device, DeviceModel, * Service, Capability, State, * Action, Event, Property, * Mapping, Enum.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UploadEntityDefinitionsOutcomeCallable UploadEntityDefinitionsCallable(const Model::UploadEntityDefinitionsRequest& request) const; /** *

Asynchronously uploads one or more entity definitions to the user's * namespace. The document parameter is required if * syncWithPublicNamespace and deleteExistingEntites are * false. If the syncWithPublicNamespace parameter is set to * true, the user's namespace will synchronize with the latest version * of the public namespace. If deprecateExistingEntities is set to * true, all entities in the latest version will be deleted before the new * DefinitionDocument is uploaded.

When a user uploads entity * definitions for the first time, the service creates a new namespace for the * user. The new namespace tracks the public namespace. Currently users can have * only one namespace. The namespace version increments whenever a user uploads * entity definitions that are backwards-incompatible and whenever a user sets the * syncWithPublicNamespace parameter or the * deprecateExistingEntities parameter to true.

*

The IDs for all of the entities should be in URN format. Each entity must be * in the user's namespace. Users can't create entities in the public namespace, * but entity definitions can refer to entities in the public namespace.

*

Valid entities are Device, DeviceModel, * Service, Capability, State, * Action, Event, Property, * Mapping, Enum.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UploadEntityDefinitionsAsync(const Model::UploadEntityDefinitionsRequest& request, const UploadEntityDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AssociateEntityToThingAsyncHelper(const Model::AssociateEntityToThingRequest& request, const AssociateEntityToThingResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateFlowTemplateAsyncHelper(const Model::CreateFlowTemplateRequest& request, const CreateFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSystemInstanceAsyncHelper(const Model::CreateSystemInstanceRequest& request, const CreateSystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSystemTemplateAsyncHelper(const Model::CreateSystemTemplateRequest& request, const CreateSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteFlowTemplateAsyncHelper(const Model::DeleteFlowTemplateRequest& request, const DeleteFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteNamespaceAsyncHelper(const Model::DeleteNamespaceRequest& request, const DeleteNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSystemInstanceAsyncHelper(const Model::DeleteSystemInstanceRequest& request, const DeleteSystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSystemTemplateAsyncHelper(const Model::DeleteSystemTemplateRequest& request, const DeleteSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeploySystemInstanceAsyncHelper(const Model::DeploySystemInstanceRequest& request, const DeploySystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeprecateFlowTemplateAsyncHelper(const Model::DeprecateFlowTemplateRequest& request, const DeprecateFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeprecateSystemTemplateAsyncHelper(const Model::DeprecateSystemTemplateRequest& request, const DeprecateSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeNamespaceAsyncHelper(const Model::DescribeNamespaceRequest& request, const DescribeNamespaceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DissociateEntityFromThingAsyncHelper(const Model::DissociateEntityFromThingRequest& request, const DissociateEntityFromThingResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetEntitiesAsyncHelper(const Model::GetEntitiesRequest& request, const GetEntitiesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetFlowTemplateAsyncHelper(const Model::GetFlowTemplateRequest& request, const GetFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetFlowTemplateRevisionsAsyncHelper(const Model::GetFlowTemplateRevisionsRequest& request, const GetFlowTemplateRevisionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetNamespaceDeletionStatusAsyncHelper(const Model::GetNamespaceDeletionStatusRequest& request, const GetNamespaceDeletionStatusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSystemInstanceAsyncHelper(const Model::GetSystemInstanceRequest& request, const GetSystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSystemTemplateAsyncHelper(const Model::GetSystemTemplateRequest& request, const GetSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSystemTemplateRevisionsAsyncHelper(const Model::GetSystemTemplateRevisionsRequest& request, const GetSystemTemplateRevisionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetUploadStatusAsyncHelper(const Model::GetUploadStatusRequest& request, const GetUploadStatusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListFlowExecutionMessagesAsyncHelper(const Model::ListFlowExecutionMessagesRequest& request, const ListFlowExecutionMessagesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SearchEntitiesAsyncHelper(const Model::SearchEntitiesRequest& request, const SearchEntitiesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SearchFlowExecutionsAsyncHelper(const Model::SearchFlowExecutionsRequest& request, const SearchFlowExecutionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SearchFlowTemplatesAsyncHelper(const Model::SearchFlowTemplatesRequest& request, const SearchFlowTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SearchSystemInstancesAsyncHelper(const Model::SearchSystemInstancesRequest& request, const SearchSystemInstancesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SearchSystemTemplatesAsyncHelper(const Model::SearchSystemTemplatesRequest& request, const SearchSystemTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void SearchThingsAsyncHelper(const Model::SearchThingsRequest& request, const SearchThingsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UndeploySystemInstanceAsyncHelper(const Model::UndeploySystemInstanceRequest& request, const UndeploySystemInstanceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateFlowTemplateAsyncHelper(const Model::UpdateFlowTemplateRequest& request, const UpdateFlowTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateSystemTemplateAsyncHelper(const Model::UpdateSystemTemplateRequest& request, const UpdateSystemTemplateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UploadEntityDefinitionsAsyncHelper(const Model::UploadEntityDefinitionsRequest& request, const UploadEntityDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace IoTThingsGraph } // namespace Aws