/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An object that contains a system instance definition and summary
* information.See Also:
AWS
* API Reference
An object that contains summary information about a system instance.
*/ inline const SystemInstanceSummary& GetSummary() const{ return m_summary; } /** *An object that contains summary information about a system instance.
*/ inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; } /** *An object that contains summary information about a system instance.
*/ inline void SetSummary(const SystemInstanceSummary& value) { m_summaryHasBeenSet = true; m_summary = value; } /** *An object that contains summary information about a system instance.
*/ inline void SetSummary(SystemInstanceSummary&& value) { m_summaryHasBeenSet = true; m_summary = std::move(value); } /** *An object that contains summary information about a system instance.
*/ inline SystemInstanceDescription& WithSummary(const SystemInstanceSummary& value) { SetSummary(value); return *this;} /** *An object that contains summary information about a system instance.
*/ inline SystemInstanceDescription& WithSummary(SystemInstanceSummary&& value) { SetSummary(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 SystemInstanceDescription& WithDefinition(const DefinitionDocument& value) { SetDefinition(value); return *this;} inline SystemInstanceDescription& WithDefinition(DefinitionDocument&& value) { SetDefinition(std::move(value)); return *this;} /** *The Amazon Simple Storage Service bucket where information about a system * instance is stored.
*/ inline const Aws::String& GetS3BucketName() const{ return m_s3BucketName; } /** *The Amazon Simple Storage Service bucket where information about a system * instance is stored.
*/ inline bool S3BucketNameHasBeenSet() const { return m_s3BucketNameHasBeenSet; } /** *The Amazon Simple Storage Service bucket where information about a system * instance is stored.
*/ inline void SetS3BucketName(const Aws::String& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = value; } /** *The Amazon Simple Storage Service bucket where information about a system * instance is stored.
*/ inline void SetS3BucketName(Aws::String&& value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName = std::move(value); } /** *The Amazon Simple Storage Service bucket where information about a system * instance is stored.
*/ inline void SetS3BucketName(const char* value) { m_s3BucketNameHasBeenSet = true; m_s3BucketName.assign(value); } /** *The Amazon Simple Storage Service bucket where information about a system * instance is stored.
*/ inline SystemInstanceDescription& WithS3BucketName(const Aws::String& value) { SetS3BucketName(value); return *this;} /** *The Amazon Simple Storage Service bucket where information about a system * instance is stored.
*/ inline SystemInstanceDescription& WithS3BucketName(Aws::String&& value) { SetS3BucketName(std::move(value)); return *this;} /** *The Amazon Simple Storage Service bucket where information about a system * instance is stored.
*/ inline SystemInstanceDescription& 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 SystemInstanceDescription& WithMetricsConfiguration(const MetricsConfiguration& value) { SetMetricsConfiguration(value); return *this;} inline SystemInstanceDescription& WithMetricsConfiguration(MetricsConfiguration&& value) { SetMetricsConfiguration(std::move(value)); return *this;} /** *The version of the user's namespace against which the system instance was * validated.
*/ inline long long GetValidatedNamespaceVersion() const{ return m_validatedNamespaceVersion; } /** *The version of the user's namespace against which the system instance was * validated.
*/ inline bool ValidatedNamespaceVersionHasBeenSet() const { return m_validatedNamespaceVersionHasBeenSet; } /** *The version of the user's namespace against which the system instance was * validated.
*/ inline void SetValidatedNamespaceVersion(long long value) { m_validatedNamespaceVersionHasBeenSet = true; m_validatedNamespaceVersion = value; } /** *The version of the user's namespace against which the system instance was * validated.
*/ inline SystemInstanceDescription& WithValidatedNamespaceVersion(long long value) { SetValidatedNamespaceVersion(value); return *this;} /** *A list of objects that contain all of the IDs and revision numbers of * workflows and systems that are used in a system instance.
*/ inline const Aws::VectorA list of objects that contain all of the IDs and revision numbers of * workflows and systems that are used in a system instance.
*/ inline bool ValidatedDependencyRevisionsHasBeenSet() const { return m_validatedDependencyRevisionsHasBeenSet; } /** *A list of objects that contain all of the IDs and revision numbers of * workflows and systems that are used in a system instance.
*/ inline void SetValidatedDependencyRevisions(const Aws::VectorA list of objects that contain all of the IDs and revision numbers of * workflows and systems that are used in a system instance.
*/ inline void SetValidatedDependencyRevisions(Aws::VectorA list of objects that contain all of the IDs and revision numbers of * workflows and systems that are used in a system instance.
*/ inline SystemInstanceDescription& WithValidatedDependencyRevisions(const Aws::VectorA list of objects that contain all of the IDs and revision numbers of * workflows and systems that are used in a system instance.
*/ inline SystemInstanceDescription& WithValidatedDependencyRevisions(Aws::VectorA list of objects that contain all of the IDs and revision numbers of * workflows and systems that are used in a system instance.
*/ inline SystemInstanceDescription& AddValidatedDependencyRevisions(const DependencyRevision& value) { m_validatedDependencyRevisionsHasBeenSet = true; m_validatedDependencyRevisions.push_back(value); return *this; } /** *A list of objects that contain all of the IDs and revision numbers of * workflows and systems that are used in a system instance.
*/ inline SystemInstanceDescription& AddValidatedDependencyRevisions(DependencyRevision&& value) { m_validatedDependencyRevisionsHasBeenSet = true; m_validatedDependencyRevisions.push_back(std::move(value)); return *this; } /** *The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph * assumes during flow execution in a cloud deployment. This role must have read * and write permissionss to AWS Lambda and AWS IoT and to any other AWS services * that the flow uses.
*/ inline const Aws::String& GetFlowActionsRoleArn() const{ return m_flowActionsRoleArn; } /** *The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph * assumes during flow execution in a cloud deployment. This role must have read * and write permissionss to AWS Lambda and AWS IoT and to any other AWS services * that the flow uses.
*/ inline bool FlowActionsRoleArnHasBeenSet() const { return m_flowActionsRoleArnHasBeenSet; } /** *The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph * assumes during flow execution in a cloud deployment. This role must have read * and write permissionss to AWS Lambda and AWS IoT and to any other AWS services * that the flow uses.
*/ inline void SetFlowActionsRoleArn(const Aws::String& value) { m_flowActionsRoleArnHasBeenSet = true; m_flowActionsRoleArn = value; } /** *The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph * assumes during flow execution in a cloud deployment. This role must have read * and write permissionss to AWS Lambda and AWS IoT and to any other AWS services * that the flow uses.
*/ inline void SetFlowActionsRoleArn(Aws::String&& value) { m_flowActionsRoleArnHasBeenSet = true; m_flowActionsRoleArn = std::move(value); } /** *The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph * assumes during flow execution in a cloud deployment. This role must have read * and write permissionss to AWS Lambda and AWS IoT and to any other AWS services * that the flow uses.
*/ inline void SetFlowActionsRoleArn(const char* value) { m_flowActionsRoleArnHasBeenSet = true; m_flowActionsRoleArn.assign(value); } /** *The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph * assumes during flow execution in a cloud deployment. This role must have read * and write permissionss to AWS Lambda and AWS IoT and to any other AWS services * that the flow uses.
*/ inline SystemInstanceDescription& WithFlowActionsRoleArn(const Aws::String& value) { SetFlowActionsRoleArn(value); return *this;} /** *The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph * assumes during flow execution in a cloud deployment. This role must have read * and write permissionss to AWS Lambda and AWS IoT and to any other AWS services * that the flow uses.
*/ inline SystemInstanceDescription& WithFlowActionsRoleArn(Aws::String&& value) { SetFlowActionsRoleArn(std::move(value)); return *this;} /** *The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph * assumes during flow execution in a cloud deployment. This role must have read * and write permissionss to AWS Lambda and AWS IoT and to any other AWS services * that the flow uses.
*/ inline SystemInstanceDescription& WithFlowActionsRoleArn(const char* value) { SetFlowActionsRoleArn(value); return *this;} private: SystemInstanceSummary m_summary; bool m_summaryHasBeenSet = false; DefinitionDocument m_definition; bool m_definitionHasBeenSet = false; Aws::String m_s3BucketName; bool m_s3BucketNameHasBeenSet = false; MetricsConfiguration m_metricsConfiguration; bool m_metricsConfigurationHasBeenSet = false; long long m_validatedNamespaceVersion; bool m_validatedNamespaceVersionHasBeenSet = false; Aws::Vector