This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/model/CreateSystemInstanceRequest.h

379 lines
16 KiB
C
Raw Normal View History

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include <aws/iotthingsgraph/IoTThingsGraph_EXPORTS.h>
#include <aws/iotthingsgraph/IoTThingsGraphRequest.h>
#include <aws/core/utils/memory/stl/AWSVector.h>
#include <aws/iotthingsgraph/model/DefinitionDocument.h>
#include <aws/iotthingsgraph/model/DeploymentTarget.h>
#include <aws/core/utils/memory/stl/AWSString.h>
#include <aws/iotthingsgraph/model/MetricsConfiguration.h>
#include <aws/iotthingsgraph/model/Tag.h>
#include <utility>
namespace Aws
{
namespace IoTThingsGraph
{
namespace Model
{
/**
*/
class AWS_IOTTHINGSGRAPH_API CreateSystemInstanceRequest : public IoTThingsGraphRequest
{
public:
CreateSystemInstanceRequest();
// 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 "CreateSystemInstance"; }
Aws::String SerializePayload() const override;
Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
/**
* <p>Metadata, consisting of key-value pairs, that can be used to categorize your
* system instances.</p>
*/
inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
/**
* <p>Metadata, consisting of key-value pairs, that can be used to categorize your
* system instances.</p>
*/
inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
/**
* <p>Metadata, consisting of key-value pairs, that can be used to categorize your
* system instances.</p>
*/
inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
/**
* <p>Metadata, consisting of key-value pairs, that can be used to categorize your
* system instances.</p>
*/
inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
/**
* <p>Metadata, consisting of key-value pairs, that can be used to categorize your
* system instances.</p>
*/
inline CreateSystemInstanceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
/**
* <p>Metadata, consisting of key-value pairs, that can be used to categorize your
* system instances.</p>
*/
inline CreateSystemInstanceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
/**
* <p>Metadata, consisting of key-value pairs, that can be used to categorize your
* system instances.</p>
*/
inline CreateSystemInstanceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
/**
* <p>Metadata, consisting of key-value pairs, that can be used to categorize your
* system instances.</p>
*/
inline CreateSystemInstanceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
inline const DefinitionDocument& GetDefinition() const{ return m_definition; }
inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; }
inline void SetDefinition(const DefinitionDocument& value) { m_definitionHasBeenSet = true; m_definition = value; }
inline void SetDefinition(DefinitionDocument&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); }
inline CreateSystemInstanceRequest& WithDefinition(const DefinitionDocument& value) { SetDefinition(value); return *this;}
inline CreateSystemInstanceRequest& WithDefinition(DefinitionDocument&& value) { SetDefinition(std::move(value)); return *this;}
/**
* <p>The target type of the deployment. Valid values are <code>GREENGRASS</code>
* and <code>CLOUD</code>.</p>
*/
inline const DeploymentTarget& GetTarget() const{ return m_target; }
/**
* <p>The target type of the deployment. Valid values are <code>GREENGRASS</code>
* and <code>CLOUD</code>.</p>
*/
inline bool TargetHasBeenSet() const { return m_targetHasBeenSet; }
/**
* <p>The target type of the deployment. Valid values are <code>GREENGRASS</code>
* and <code>CLOUD</code>.</p>
*/
inline void SetTarget(const DeploymentTarget& value) { m_targetHasBeenSet = true; m_target = value; }
/**
* <p>The target type of the deployment. Valid values are <code>GREENGRASS</code>
* and <code>CLOUD</code>.</p>
*/
inline void SetTarget(DeploymentTarget&& value) { m_targetHasBeenSet = true; m_target = std::move(value); }
/**
* <p>The target type of the deployment. Valid values are <code>GREENGRASS</code>
* and <code>CLOUD</code>.</p>
*/
inline CreateSystemInstanceRequest& WithTarget(const DeploymentTarget& value) { SetTarget(value); return *this;}
/**
* <p>The target type of the deployment. Valid values are <code>GREENGRASS</code>
* and <code>CLOUD</code>.</p>
*/
inline CreateSystemInstanceRequest& WithTarget(DeploymentTarget&& value) { SetTarget(std::move(value)); return *this;}
/**
* <p>The name of the Greengrass group where the system instance will be deployed.
* This value is required if the value of the <code>target</code> parameter is
* <code>GREENGRASS</code>.</p>
*/
inline const Aws::String& GetGreengrassGroupName() const{ return m_greengrassGroupName; }
/**
* <p>The name of the Greengrass group where the system instance will be deployed.
* This value is required if the value of the <code>target</code> parameter is
* <code>GREENGRASS</code>.</p>
*/
inline bool GreengrassGroupNameHasBeenSet() const { return m_greengrassGroupNameHasBeenSet; }
/**
* <p>The name of the Greengrass group where the system instance will be deployed.
* This value is required if the value of the <code>target</code> parameter is
* <code>GREENGRASS</code>.</p>
*/
inline void SetGreengrassGroupName(const Aws::String& value) { m_greengrassGroupNameHasBeenSet = true; m_greengrassGroupName = value; }
/**
* <p>The name of the Greengrass group where the system instance will be deployed.
* This value is required if the value of the <code>target</code> parameter is
* <code>GREENGRASS</code>.</p>
*/
inline void SetGreengrassGroupName(Aws::String&& value) { m_greengrassGroupNameHasBeenSet = true; m_greengrassGroupName = std::move(value); }
/**
* <p>The name of the Greengrass group where the system instance will be deployed.
* This value is required if the value of the <code>target</code> parameter is
* <code>GREENGRASS</code>.</p>
*/
inline void SetGreengrassGroupName(const char* value) { m_greengrassGroupNameHasBeenSet = true; m_greengrassGroupName.assign(value); }
/**
* <p>The name of the Greengrass group where the system instance will be deployed.
* This value is required if the value of the <code>target</code> parameter is
* <code>GREENGRASS</code>.</p>
*/
inline CreateSystemInstanceRequest& WithGreengrassGroupName(const Aws::String& value) { SetGreengrassGroupName(value); return *this;}
/**
* <p>The name of the Greengrass group where the system instance will be deployed.
* This value is required if the value of the <code>target</code> parameter is
* <code>GREENGRASS</code>.</p>
*/
inline CreateSystemInstanceRequest& WithGreengrassGroupName(Aws::String&& value) { SetGreengrassGroupName(std::move(value)); return *this;}
/**
* <p>The name of the Greengrass group where the system instance will be deployed.
* This value is required if the value of the <code>target</code> parameter is
* <code>GREENGRASS</code>.</p>
*/
inline CreateSystemInstanceRequest& WithGreengrassGroupName(const char* value) { SetGreengrassGroupName(value); return *this;}
/**
* <p>The name of the Amazon Simple Storage Service bucket that will be used to
* store and deploy the system instance's resource file. This value is required if
* the value of the <code>target</code> parameter is <code>GREENGRASS</code>.</p>
*/
inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; }
/**
* <p>The name of the Amazon Simple Storage Service bucket that will be used to
* store and deploy the system instance's resource file. This value is required if
* the value of the <code>target</code> parameter is <code>GREENGRASS</code>.</p>
*/
inline bool S3BucketNameHasBeenSet() const { return m_s3BucketNameHasBeenSet; }
/**
* <p>The name of the Amazon Simple Storage Service bucket that will be used to
* store and deploy the system instance's resource file. This value is required if
* the value of the <code>target</code> parameter is <code>GREENGRASS</code>.</p>
*/
inline void SetS3BucketName(const Aws::String& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = value; }
/**
* <p>The name of the Amazon Simple Storage Service bucket that will be used to
* store and deploy the system instance's resource file. This value is required if
* the value of the <code>target</code> parameter is <code>GREENGRASS</code>.</p>
*/
inline void SetS3BucketName(Aws::String&& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = std::move(value); }
/**
* <p>The name of the Amazon Simple Storage Service bucket that will be used to
* store and deploy the system instance's resource file. This value is required if
* the value of the <code>target</code> parameter is <code>GREENGRASS</code>.</p>
*/
inline void SetS3BucketName(const char* value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName.assign(value); }
/**
* <p>The name of the Amazon Simple Storage Service bucket that will be used to
* store and deploy the system instance's resource file. This value is required if
* the value of the <code>target</code> parameter is <code>GREENGRASS</code>.</p>
*/
inline CreateSystemInstanceRequest& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;}
/**
* <p>The name of the Amazon Simple Storage Service bucket that will be used to
* store and deploy the system instance's resource file. This value is required if
* the value of the <code>target</code> parameter is <code>GREENGRASS</code>.</p>
*/
inline CreateSystemInstanceRequest& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;}
/**
* <p>The name of the Amazon Simple Storage Service bucket that will be used to
* store and deploy the system instance's resource file. This value is required if
* the value of the <code>target</code> parameter is <code>GREENGRASS</code>.</p>
*/
inline CreateSystemInstanceRequest& WithS3BucketName(const char* value) { SetS3BucketName(value); return *this;}
inline const MetricsConfiguration& GetMetricsConfiguration() const{ return m_metricsConfiguration; }
inline bool MetricsConfigurationHasBeenSet() const { return m_metricsConfigurationHasBeenSet; }
inline void SetMetricsConfiguration(const MetricsConfiguration& value) { m_metricsConfigurationHasBeenSet = true; m_metricsConfiguration = value; }
inline void SetMetricsConfiguration(MetricsConfiguration&& value) { m_metricsConfigurationHasBeenSet = true; m_metricsConfiguration = std::move(value); }
inline CreateSystemInstanceRequest& WithMetricsConfiguration(const MetricsConfiguration& value) { SetMetricsConfiguration(value); return *this;}
inline CreateSystemInstanceRequest& WithMetricsConfiguration(MetricsConfiguration&& value) { SetMetricsConfiguration(std::move(value)); return *this;}
/**
* <p>The ARN of the IAM role that AWS IoT Things Graph will assume when it
* executes the flow. This role must have read and write access to AWS Lambda and
* AWS IoT and any other AWS services that the flow uses when it executes. This
* value is required if the value of the <code>target</code> parameter is
* <code>CLOUD</code>.</p>
*/
inline const Aws::String& GetFlowActionsRoleArn() const{ return m_flowActionsRoleArn; }
/**
* <p>The ARN of the IAM role that AWS IoT Things Graph will assume when it
* executes the flow. This role must have read and write access to AWS Lambda and
* AWS IoT and any other AWS services that the flow uses when it executes. This
* value is required if the value of the <code>target</code> parameter is
* <code>CLOUD</code>.</p>
*/
inline bool FlowActionsRoleArnHasBeenSet() const { return m_flowActionsRoleArnHasBeenSet; }
/**
* <p>The ARN of the IAM role that AWS IoT Things Graph will assume when it
* executes the flow. This role must have read and write access to AWS Lambda and
* AWS IoT and any other AWS services that the flow uses when it executes. This
* value is required if the value of the <code>target</code> parameter is
* <code>CLOUD</code>.</p>
*/
inline void SetFlowActionsRoleArn(const Aws::String& value) { m_flowActionsRoleArnHasBeenSet = true; m_flowActionsRoleArn = value; }
/**
* <p>The ARN of the IAM role that AWS IoT Things Graph will assume when it
* executes the flow. This role must have read and write access to AWS Lambda and
* AWS IoT and any other AWS services that the flow uses when it executes. This
* value is required if the value of the <code>target</code> parameter is
* <code>CLOUD</code>.</p>
*/
inline void SetFlowActionsRoleArn(Aws::String&& value) { m_flowActionsRoleArnHasBeenSet = true; m_flowActionsRoleArn = std::move(value); }
/**
* <p>The ARN of the IAM role that AWS IoT Things Graph will assume when it
* executes the flow. This role must have read and write access to AWS Lambda and
* AWS IoT and any other AWS services that the flow uses when it executes. This
* value is required if the value of the <code>target</code> parameter is
* <code>CLOUD</code>.</p>
*/
inline void SetFlowActionsRoleArn(const char* value) { m_flowActionsRoleArnHasBeenSet = true; m_flowActionsRoleArn.assign(value); }
/**
* <p>The ARN of the IAM role that AWS IoT Things Graph will assume when it
* executes the flow. This role must have read and write access to AWS Lambda and
* AWS IoT and any other AWS services that the flow uses when it executes. This
* value is required if the value of the <code>target</code> parameter is
* <code>CLOUD</code>.</p>
*/
inline CreateSystemInstanceRequest& WithFlowActionsRoleArn(const Aws::String& value) { SetFlowActionsRoleArn(value); return *this;}
/**
* <p>The ARN of the IAM role that AWS IoT Things Graph will assume when it
* executes the flow. This role must have read and write access to AWS Lambda and
* AWS IoT and any other AWS services that the flow uses when it executes. This
* value is required if the value of the <code>target</code> parameter is
* <code>CLOUD</code>.</p>
*/
inline CreateSystemInstanceRequest& WithFlowActionsRoleArn(Aws::String&& value) { SetFlowActionsRoleArn(std::move(value)); return *this;}
/**
* <p>The ARN of the IAM role that AWS IoT Things Graph will assume when it
* executes the flow. This role must have read and write access to AWS Lambda and
* AWS IoT and any other AWS services that the flow uses when it executes. This
* value is required if the value of the <code>target</code> parameter is
* <code>CLOUD</code>.</p>
*/
inline CreateSystemInstanceRequest& WithFlowActionsRoleArn(const char* value) { SetFlowActionsRoleArn(value); return *this;}
private:
Aws::Vector<Tag> m_tags;
bool m_tagsHasBeenSet;
DefinitionDocument m_definition;
bool m_definitionHasBeenSet;
DeploymentTarget m_target;
bool m_targetHasBeenSet;
Aws::String m_greengrassGroupName;
bool m_greengrassGroupNameHasBeenSet;
Aws::String m_s3BucketName;
bool m_s3BucketNameHasBeenSet;
MetricsConfiguration m_metricsConfiguration;
bool m_metricsConfigurationHasBeenSet;
Aws::String m_flowActionsRoleArn;
bool m_flowActionsRoleArnHasBeenSet;
};
} // namespace Model
} // namespace IoTThingsGraph
} // namespace Aws